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:
DefinitionType
 compatible_dimension RULE


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00