|
FUNCTION check_curve_planarity (checked_curve : curve) : BOOLEAN; LOCAL crv : curve := checked_curve ; i , j : INTEGER ; result : LOGICAL := UNKNOWN ; END_LOCAL ; IF ( SIZEOF ( [ 'geometry_schema.conic' , 'geometry_schema.line' ] * TYPEOF ( crv ) ) > 0 ) THEN result := TRUE ; ELSE IF ( ( 'geometry_schema.trimmed_curve' IN TYPEOF ( crv ) ) AND check_curve_planarity ( crv . basis_curve ) ) THEN result := TRUE ; ELSE IF ( ( 'geometry_schema.pcurve' IN TYPEOF ( crv ) ) AND ( 'geometry_schema.plane' IN TYPEOF ( crv . basis_surface ) ) ) THEN result := TRUE ; ELSE IF ( 'geometry_schema.surface_curve' IN TYPEOF ( crv ) ) THEN BEGIN REPEAT j := 1 TO HIINDEX ( crv . basis_surface ) ; IF ( 'geometry_schema.plane' IN TYPEOF ( crv . basis_surface [ j ] ) ) THEN result := TRUE ; END_IF ; END_REPEAT ; END ; END_IF ; END_IF ; END_IF ; END_IF ; RETURN ( result ) ; END_FUNCTION; -- check_curve_planarity |
|
public class FCheck_curve_planarity public static Value run(SdaiContext _context, Value checked_curve) |