FUNCTION check_geometric_dimension
(* SCHEMA step_merged_ap_schema; *)
-- DIFF IN AP238 STEP-NC
-- IN AP238 STEP-NC/AP242
FUNCTION check_geometric_dimension
(capt : SET [0:?] OF cartesian_point;
dir : SET [0:?] OF direction;
grc : SET [0:?] OF geometric_representation_context ) : BOOLEAN;
LOCAL
globaldim : INTEGER := 0;
reps : SET [0:?] OF representation := [];
result : BOOLEAN := FALSE;
END_LOCAL;
IF SIZEOF(grc) = 0 THEN
RETURN (FALSE);
END_IF;
globaldim := geometric_dimensionalities_in_contexts(grc);
IF globaldim > 0 THEN
IF SIZEOF(capt) > 0 THEN
REPEAT i := 1 TO HIINDEX(capt);
IF HIINDEX(capt[i].coordinates) <> globaldim THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
IF SIZEOF(dir) > 0 THEN
REPEAT i := 1 TO HIINDEX(dir);
IF HIINDEX(dir[i].direction_ratios) <> globaldim THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
RETURN (result);
ELSE
IF SIZEOF(capt) > 0 THEN
REPEAT i := 1 TO HIINDEX(capt);
reps := using_representations(capt[i]);
IF SIZEOF(reps) > 0 THEN
REPEAT j := 1 TO HIINDEX(reps);
IF HIINDEX(capt[i].coordinates) <> reps[j].context_of_items\geometric_representation_context.coordinate_space_dimension THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
ELSE
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
IF SIZEOF(dir) > 0 THEN
REPEAT i := 1 TO HIINDEX(dir);
reps := using_representations(dir[i]);
IF SIZEOF(reps) > 0 THEN
REPEAT j := 1 TO HIINDEX(reps);
IF HIINDEX(dir[i].direction_ratios) <> reps[j].context_of_items\geometric_representation_context.coordinate_space_dimension THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
ELSE
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
END_IF;
RETURN (result);
END_FUNCTION;
Referenced By
Defintion check_geometric_dimension is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00