| 
ENTITY composite_curve_on_surface SUPERTYPE OF (boundary_curve) SUBTYPE OF (composite_curve); DERIVE basis_surface : SET [0:2] OF surface := get_basis_surface(SELF); WHERE wr1: SIZEOF(basis_surface) > 0; wr2: constraints_composite_curve_on_surface(SELF); END_ENTITY; -- composite_curve_on_surface  | 
Entity data types and their attributesrepresentation_itemname: label; geometric_representation_item (DER) dim: dimension_count; curve - bounded_curve - composite_curve segments: LIST [1:?] OF composite_curve_segment; self_intersect: LOGICAL; (DER) n_segments: INTEGER; (DER) closed_curve: LOGICAL; composite_curve_on_surface (DER) basis_surface: SET [0:2] OF surface;  | 
|           boundary_curve (GEOMETRY_SCHEMA) | 
Global rules for this entity data type- | 
public interface EComposite_curve_on_surface extends EComposite_curvebasis_surface (derived attribute)ASurface getBasis_surface(EComposite_curve_on_surface type)boolean testBasis_surface(EComposite_curve_on_surface type)  | 
public class CComposite_curve_on_surface implements EComposite_curve_on_surfacestatic EAttribute attributeBasis_surface(EComposite_curve_on_surface type)static int usedinBasis_surface(EComposite_curve_on_surface type, ESurface instance, ASdaiModel domain, AComposite_curve_on_surface result)  | 
public class AComposite_curve_on_surface extends AEntitypublic EComposite_curve_on_surface getByIndex(int index)public EComposite_curve_on_surface getCurrentMember(SdaiIterator it)  |