FUNCTION get_basis_surface

(* SCHEMA integrated_cnc_schema; *)
FUNCTION get_basis_surface (
    c : curve_on_surface 
    ) : SET [0:2] OF surface;
  LOCAL
    surfs : SET [0:2] OF surface;
    n : INTEGER;
  END_LOCAL;
    surfs := [];
    IF 'INTEGRATED_CNC_SCHEMA.PCURVE' IN TYPEOF(c) THEN
      surfs := [ c\pcurve.basis_surface ];
    ELSE
      IF 'INTEGRATED_CNC_SCHEMA.SURFACE_CURVE' IN TYPEOF(c) THEN
        n := SIZEOF(c\surface_curve.associated_geometry);
        REPEAT i := 1 TO n;
          surfs := surfs + associated_surface(c\surface_curve.
            associated_geometry[i]);
        END_REPEAT;
      END_IF;
    END_IF;
    IF 'INTEGRATED_CNC_SCHEMA.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF(c) THEN
      n := SIZEOF(c\composite_curve.segments);
      surfs := get_basis_surface(c\composite_curve.segments[1].parent_curve
        );
      IF n > 1 THEN
        REPEAT i := 2 TO n;
          surfs := surfs * get_basis_surface(c\composite_curve.segments[i].
            parent_curve);
        END_REPEAT;
      END_IF;
    END_IF;
    RETURN (surfs);
END_FUNCTION; -- 10303-42: geometry_schema

Referenced By

Defintion get_basis_surface is references by the following definitions:
DefinitionType
 composite_curve_on_surface ENTITY
 surface_curve ENTITY


[Top Level Definitions]

Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:25-02:00