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:
DefinitionType
 measure_with_unit ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2023-03-25T00:11:39-04:00