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:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00