FUNCTION derive_dimensional_exponents

(* SCHEMA engineering_properties_schema; *)


   FUNCTION derive_dimensional_exponents
      (x : unit ) : dimensional_exponents;
   LOCAL
      result : dimensional_exponents := dimensional_exponents(0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000);
   END_LOCAL;
      IF 'ENGINEERING_PROPERTIES_SCHEMA.DERIVED_UNIT' IN TYPEOF(x) THEN
         REPEAT i := LOINDEX(x\derived_unit.elements) TO HIINDEX(x\derived_unit.elements);
            result.length_exponent := result.length_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent;
            result.mass_exponent := result.mass_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent;
            result.time_exponent := result.time_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent;
            result.electric_current_exponent := result.electric_current_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent;
            result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.thermodynamic_temperature_exponent;
            result.amount_of_substance_exponent := result.amount_of_substance_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.amount_of_substance_exponent;
            result.luminous_intensity_exponent := result.luminous_intensity_exponent + x\derived_unit.elements[i]\derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.luminous_intensity_exponent;
         END_REPEAT;
      ELSE
         result := x\named_unit.dimensions;
      END_IF;
      RETURN (result);
   END_FUNCTION;

Referenced By

Defintion derive_dimensional_exponents is references by the following definitions:
DefinitionType
 absorbed_dose_unit ENTITY
 acceleration_unit ENTITY
 area_unit ENTITY
 capacitance_unit ENTITY
 conductance_unit ENTITY
 conversion_based_unit ENTITY
 dose_equivalent_unit ENTITY
 electric_charge_unit ENTITY
 electric_potential_unit ENTITY
 energy_unit ENTITY
 force_unit ENTITY
 frequency_unit ENTITY
 illuminance_unit ENTITY
 inductance_unit ENTITY
 luminous_flux_unit ENTITY
 magnetic_flux_density_unit ENTITY
 magnetic_flux_unit ENTITY
 power_unit ENTITY
 pressure_unit ENTITY
 projected_zone_definition ENTITY
 radioactivity_unit ENTITY
 resistance_unit ENTITY
 valid_units FUNCTION
 volume_unit ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:18:51-04:00