FUNCTION msf_curve_check
(* SCHEMA AUTOMOTIVE_DESIGN; *)
FUNCTION msf_curve_check(cv : representation_item) : BOOLEAN;
IF SIZEOF(['AUTOMOTIVE_DESIGN.BOUNDED_CURVE', 'AUTOMOTIVE_DESIGN.CONIC'
, 'AUTOMOTIVE_DESIGN.CURVE_REPLICA', 'AUTOMOTIVE_DESIGN.LINE',
'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
RETURN (FALSE);
END_IF;
IF ('AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\
b_spline_curve.self_intersect = FALSE) OR (cv\b_spline_curve.self_intersect
= UNKNOWN) THEN
RETURN (TRUE);
ELSE
IF SIZEOF(['AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.LINE'] *
TYPEOF(cv)) = 1 THEN
RETURN (TRUE);
ELSE
IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(cv) THEN
RETURN (msf_curve_check(cv\curve_replica.parent_curve));
ELSE
IF ('AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\
offset_curve_3d.self_intersect = FALSE) OR (cv\offset_curve_3d.
self_intersect = UNKNOWN)) AND NOT ('AUTOMOTIVE_DESIGN.POLYLINE' IN
TYPEOF(cv\offset_curve_3d.basis_curve)) THEN
RETURN (msf_curve_check(cv\offset_curve_3d.basis_curve));
ELSE
IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv) THEN
RETURN (msf_curve_check(cv\pcurve.reference_to_curve\representation
.items[1]) AND msf_surface_check(cv\pcurve.basis_surface));
ELSE
IF 'AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(cv) THEN
IF msf_curve_check(cv\surface_curve.curve_3d) THEN
REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry);
IF 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(cv\surface_curve.
associated_geometry[i]) THEN
IF NOT msf_surface_check(cv\surface_curve.
associated_geometry[i]) THEN
RETURN (FALSE);
END_IF;
ELSE
IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv\surface_curve
.associated_geometry[i]) THEN
IF NOT msf_curve_check(cv\surface_curve.
associated_geometry[i]) THEN
RETURN (FALSE);
END_IF;
END_IF;
END_IF;
END_REPEAT;
RETURN (TRUE);
END_IF;
ELSE
IF 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv) THEN
IF SIZEOF(cv\polyline.points) >= 3 THEN
RETURN (TRUE);
END_IF;
END_IF;
END_IF;
END_IF;
END_IF;
END_IF;
END_IF;
END_IF;
RETURN (FALSE);
END_FUNCTION; (* declared in: aic_manifold_surface *)
Referenced By
Defintion msf_curve_check is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:12-04:00