Overview Schemas Index

SKETCH_SCHEMA (jsdai.SSketch_schema)


FUNCTION check_curve_planarity
          (checked_curve : curve) : BOOLEAN;

LOCAL
    crv    : curve   := checked_curve;
    i,j    : INTEGER;
    result : LOGICAL := UNKNOWN;
  END_LOCAL;

  -- Determine whether the curve lies on a plane, according TO  its type

  IF  (SIZEOF(['GEOMETRY_SCHEMA.CONIC','GEOMETRY_SCHEMA.LINE'] *
    TYPEOF(crv)) > 0) 
  THEN  result := TRUE;
  ELSE
    IF  (('GEOMETRY_SCHEMA.TRIMMED_CURVE' IN  TYPEOF(crv)) 
      AND  check_curve_planarity(crv.basis_curve))
    THEN  result := TRUE;
    ELSE
      IF  (('GEOMETRY_SCHEMA.PCURVE' IN  TYPEOF(crv)) 
        AND ('GEOMETRY_SCHEMA.PLANE' IN  TYPEOF(crv.basis_surface)))
      THEN  result := TRUE;
      ELSE
        IF  ('GEOMETRY_SCHEMA.SURFACE_CURVE' IN  TYPEOF(crv)) 
        THEN
        BEGIN
          REPEAT j := 1 TO HIINDEX(crv.basis_surface);
            IF ('GEOMETRY_SCHEMA.PLANE' IN TYPEOF(crv.basis_surface[j])) 
            THEN result := TRUE;
            END_IF;
          END_REPEAT;
        END;
        END_IF;
      END_IF;
    END_IF;
  END_IF;

  RETURN(result);

END_FUNCTION; -- check_curve_planarity

public class FCheck_curve_planarity
          public static Value run(SdaiContext _context, Value checked_curve)