FUNCTION valid_geometrically_bounded_wf_curve

(* SCHEMA technical_data_packaging; *)
  FUNCTION valid_geometrically_bounded_wf_curve(
               crv: curve
      ): BOOLEAN;
    IF SIZEOF(['TECHNICAL_DATA_PACKAGING.POLYLINE',
        'TECHNICAL_DATA_PACKAGING.B_SPLINE_CURVE',
        'TECHNICAL_DATA_PACKAGING.ELLIPSE',
        'TECHNICAL_DATA_PACKAGING.CIRCLE'] * TYPEOF(crv)) = 1 THEN
      RETURN(TRUE);
    ELSE
      IF 'TECHNICAL_DATA_PACKAGING.TRIMMED_CURVE' IN TYPEOF(crv) THEN
        IF SIZEOF(['TECHNICAL_DATA_PACKAGING.LINE',
            'TECHNICAL_DATA_PACKAGING.PARABOLA',
            'TECHNICAL_DATA_PACKAGING.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 'TECHNICAL_DATA_PACKAGING.OFFSET_CURVE_3D' IN TYPEOF(crv) THEN
          RETURN(valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.
              basis_curve));
        ELSE
          IF 'TECHNICAL_DATA_PACKAGING.CURVE_REPLICA' IN TYPEOF(crv) THEN
            RETURN(valid_geometrically_bounded_wf_curve(crv\curve_replica.
                parent_curve));
          ELSE
            IF 'TECHNICAL_DATA_PACKAGING.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:18:35-04:00