FUNCTION nmsf_surface_check
(* SCHEMA aic_non_manifold_surface; *)
FUNCTION nmsf_surface_check (surf : surface) : BOOLEAN;
(* This function varifies the validity of a surface in the
context of a non-manifold surface model.
*)
(* elementary_surfaces are valid surface types
*)
IF 'AIC_NON_MANIFOLD_SURFACE.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
RETURN(TRUE);
ELSE
(* a swept_surface shall have a valid sweeping curve
*)
IF 'AIC_NON_MANIFOLD_SURFACE.SWEPT_SURFACE' IN TYPEOF (surf) THEN
RETURN (nmsf_curve_check(surf\swept_surface.swept_curve));
ELSE
(* an offset_surface shall not self-intersect and shall
reference a valid surface
*)
IF (('AIC_NON_MANIFOLD_SURFACE.OFFSET_SURFACE' IN TYPEOF (surf)) AND
(surf\offset_surface.self_intersect = FALSE) OR
(surf\offset_surface.self_intersect = UNKNOWN)) THEN
RETURN (nmsf_surface_check(surf\offset_surface.basis_surface));
ELSE
(* a surface_replica shall have a valid parent surface
*)
IF 'AIC_NON_MANIFOLD_SURFACE.SURFACE_REPLICA' IN TYPEOF(surf) THEN
RETURN(nmsf_surface_check(surf\surface_replica.parent_surface));
ELSE
(* a b_spline_surface shall not self-intersect
*)
IF (('AIC_NON_MANIFOLD_SURFACE.B_SPLINE_SURFACE' IN TYPEOF(surf))
AND
(surf\b_spline_surface.self_intersect = FALSE) OR
(surf\b_spline_surface.self_intersect = UNKNOWN)) THEN
RETURN(TRUE);
END_IF;
END_IF;
END_IF;
END_IF;
END_IF;
RETURN(FALSE);
END_FUNCTION;
Referenced By
Defintion nmsf_surface_check is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:14:00-04:00