Overview Schemas Index

TOPOLOGY_SCHEMA (jsdai.STopology_schema)


FUNCTION edge_curve_pcurves
          (an_edge : edge_curve, the_surface_curves : SET [0:?] OF surface_curve) : SET [0:?] OF pcurve;

LOCAL
  a_curve      : curve;
  result       : SET OF  pcurve;
  the_geometry : LIST[1:2] OF pcurve_or_surface;
END_LOCAL;
  a_curve := an_edge.edge_geometry;
  result := [];
  IF  'GEOMETRY_SCHEMA.PCURVE' IN  TYPEOF(a_curve) THEN
    result := result + a_curve;
  ELSE
    IF  'GEOMETRY_SCHEMA.SURFACE_CURVE' IN  TYPEOF(a_curve) THEN
      the_geometry := a_curve\surface_curve.associated_geometry;
      REPEAT  k := 1 TO  SIZEOF(the_geometry);
         IF  'GEOMETRY_SCHEMA.PCURVE' IN  TYPEOF  (the_geometry[k])
         THEN
            result := result + the_geometry[k];
         END_IF;
      END_REPEAT;
    ELSE
      REPEAT  j := 1 TO  SIZEOF(the_surface_curves);
        the_geometry := the_surface_curves[j].associated_geometry;
        IF  the_surface_curves[j].curve_3d :=: a_curve
        THEN
          REPEAT k := 1 TO SIZEOF(the_geometry);
            IF 'GEOMETRY_SCHEMA.PCURVE' IN TYPEOF (the_geometry[k])
            THEN
              result := result + the_geometry[k];
            END_IF;
          END_REPEAT;
        END_IF;
      END_REPEAT;
    END_IF;
  END_IF;

  RETURN (result);

END_FUNCTION; -- edge_curve_pcurves

public class FEdge_curve_pcurves
          public static Value run(SdaiContext _context, Value an_edge, Value the_surface_curves)