FUNCTION valid_geometrically_bounded_wf_curve

(* SCHEMA ship_structures_schema; *)
  FUNCTION valid_geometrically_bounded_wf_curve(
               crv: curve
      ): BOOLEAN;
    IF SIZEOF(['SHIP_STRUCTURES_SCHEMA.POLYLINE',
        'SHIP_STRUCTURES_SCHEMA.B_SPLINE_CURVE',
        'SHIP_STRUCTURES_SCHEMA.ELLIPSE','SHIP_STRUCTURES_SCHEMA.CIRCLE'] *
         TYPEOF(crv)) = 1 THEN
      RETURN(TRUE);
    ELSE
      IF 'SHIP_STRUCTURES_SCHEMA.TRIMMED_CURVE' IN TYPEOF(crv) THEN
        IF SIZEOF(['SHIP_STRUCTURES_SCHEMA.LINE',
            'SHIP_STRUCTURES_SCHEMA.PARABOLA',
            'SHIP_STRUCTURES_SCHEMA.HYPERBOLA'] * TYPEOF(crv\trimmed_curve.
            basis_curve)) = 1 THEN
          RETURN(TRUE);
        ELSE
          RETURN(valid_geometrically_bounded_wf_curve(crv\trimmed_curve.
              basis_curve));
        END_IF;
      ELSE
        IF 'SHIP_STRUCTURES_SCHEMA.OFFSET_CURVE_3D' IN TYPEOF(crv) THEN
          RETURN(valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.
              basis_curve));
        ELSE
          IF 'SHIP_STRUCTURES_SCHEMA.CURVE_REPLICA' IN TYPEOF(crv) THEN
            RETURN(valid_geometrically_bounded_wf_curve(crv\curve_replica.
                parent_curve));
          ELSE
            IF 'SHIP_STRUCTURES_SCHEMA.COMPOSITE_CURVE' IN TYPEOF(crv)
                 THEN
              RETURN(SIZEOF(QUERY ( ccs <* crv\composite_curve.segments | 
                  (NOT valid_geometrically_bounded_wf_curve(ccs.
                  parent_curve)) )) = 0);
            END_IF;
          END_IF;
        END_IF;
      END_IF;
    END_IF;
    RETURN(FALSE);

  END_FUNCTION; -- valid_geometrically_bounded_wf_curve

Referenced By

Defintion valid_geometrically_bounded_wf_curve is references by the following definitions:
DefinitionType
 geometrically_bounded_wireframe_shape_representation ENTITY
 valid_geometrically_bounded_wf_point FUNCTION


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00