FUNCTION valid_units
(* SCHEMA STRUCTURAL_FRAME_SCHEMA; *)
FUNCTION valid_units
( m : measure_with_unit ) : BOOLEAN;
IF 'STRUCTURAL_FRAME_SCHEMA.LENGTH_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.MASS_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.TIME_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.THERMODYNAMIC_TEMPERATURE_MEASURE'
IN TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.PLANE_ANGLE_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.SOLID_ANGLE_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.AREA_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.VOLUME_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.RATIO_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.POSITIVE_LENGTH_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
IF 'STRUCTURAL_FRAME_SCHEMA.POSITIVE_PLANE_ANGLE_MEASURE' IN
TYPEOF ( m.value_component ) THEN
IF derive_dimensional_exponents ( m.unit_component ) <>
dimensional_exponents ( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) THEN
RETURN (FALSE);
END_IF;
END_IF;
RETURN (TRUE);
END_FUNCTION; (* STEP Part 41 (unchanged in 2nd edition) *)
Referenced By
Defintion valid_units is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2023-03-25T00:11:39-04:00