// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _UnitsAPI_HeaderFile #define _UnitsAPI_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Handle_Units_Dimensions_HeaderFile #include #endif #ifndef _UnitsAPI_SystemUnits_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class Units_Dimensions; //! The UnitsAPI global functions are used to
//! convert a value from any unit into another unit.
//! Principles
//! Conversion is executed among three unit systems:
//! - the SI System
//! - the user's Local System
//! - the user's Current System.
//! The SI System is the standard international unit
//! system. It is indicated by SI in the synopses of
//! the UnitsAPI functions.
//! The MDTV System corresponds to the SI
//! international standard but the length unit and all
//! its derivatives use millimeters instead of the meters.
//! Both systems are proposed by Open CASCADE;
//! the SI System is the standard option. By
//! selecting one of these two systems, the user
//! defines his Local System through the
//! SetLocalSystem function. The Local System is
//! indicated by LS in the synopses of the UnitsAPI functions.
//! The user's Local System units can be modified in
//! the working environment. The user defines his
//! Current System by modifying its units through
//! the SetCurrentUnit function. The Current
//! System is indicated by Current in the synopses
//! of the UnitsAPI functions.
class UnitsAPI { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Converts the current unit value to the local system units value.
//! Example: CurrentToLS(1.,"LENGTH") returns 1000. if the current length unit
//! is meter and LocalSystem is MDTV.
Standard_EXPORT static Standard_Real CurrentToLS(const Standard_Real aData,const Standard_CString aQuantity) ; //! Converts the current unit value to the SI system units value.
//! Example: CurrentToSI(1.,"LENGTH") returns 0.001 if current length unit
//! is millimeter.
Standard_EXPORT static Standard_Real CurrentToSI(const Standard_Real aData,const Standard_CString aQuantity) ; //! Converts the local system units value to the current unit value.
//! Example: CurrentFromLS(1000.,"LENGTH") returns 1. if current length unit
//! is meter and LocalSystem is MDTV.
Standard_EXPORT static Standard_Real CurrentFromLS(const Standard_Real aData,const Standard_CString aQuantity) ; //! Converts the SI system units value to the current unit value.
//! Example: CurrentFromSI(0.001,"LENGTH") returns 1 if current length unit
//! is millimeter.
Standard_EXPORT static Standard_Real CurrentFromSI(const Standard_Real aData,const Standard_CString aQuantity) ; //! Converts the local unit value to the local system units value.
//! Example: AnyToLS(1.,"in.") returns 25.4 if the LocalSystem is MDTV.
Standard_EXPORT static Standard_Real AnyToLS(const Standard_Real aData,const Standard_CString aUnit) ; //! Converts the local unit value to the local system units value.
//! and gives the associated dimension of the unit
Standard_EXPORT static Standard_Real AnyToLS(const Standard_Real aData,const Standard_CString aUnit,Handle(Units_Dimensions)& aDim) ; //! Converts the local unit value to the SI system units value.
//! Example: AnyToSI(1.,"in.") returns 0.0254
Standard_EXPORT static Standard_Real AnyToSI(const Standard_Real aData,const Standard_CString aUnit) ; //! Converts the local unit value to the SI system units value.
//! and gives the associated dimension of the unit
Standard_EXPORT static Standard_Real AnyToSI(const Standard_Real aData,const Standard_CString aUnit,Handle(Units_Dimensions)& aDim) ; //! Converts the local system units value to the local unit value.
//! Example: AnyFromLS(25.4,"in.") returns 1. if the LocalSystem is MDTV.
//! Note: aUnit is also used to identify the type of physical quantity to convert.
Standard_EXPORT static Standard_Real AnyFromLS(const Standard_Real aData,const Standard_CString aUnit) ; //! Converts the SI system units value to the local unit value.
//! Example: AnyFromSI(0.0254,"in.") returns 0.001
//! Note: aUnit is also used to identify the type of physical quantity to convert.
Standard_EXPORT static Standard_Real AnyFromSI(const Standard_Real aData,const Standard_CString aUnit) ; //! Converts the aData value expressed in the
//! current unit for the working environment, as
//! defined for the physical quantity aQuantity by the
//! last call to the SetCurrentUnit function, into the unit aUnit.
Standard_EXPORT static Standard_Real CurrentToAny(const Standard_Real aData,const Standard_CString aQuantity,const Standard_CString aUnit) ; //! Converts the aData value expressed in the unit
//! aUnit, into the current unit for the working
//! environment, as defined for the physical quantity
//! aQuantity by the last call to the SetCurrentUnit function.
Standard_EXPORT static Standard_Real CurrentFromAny(const Standard_Real aData,const Standard_CString aQuantity,const Standard_CString aUnit) ; //! Converts the local unit value to another local unit value.
//! Example: AnyToAny(0.0254,"in.","millimeter") returns 1. ;
Standard_EXPORT static Standard_Real AnyToAny(const Standard_Real aData,const Standard_CString aUnit1,const Standard_CString aUnit2) ; //! Converts the local system units value to the SI system unit value.
//! Example: LSToSI(1.,"LENGTH") returns 0.001 if the local system
//! length unit is millimeter.
Standard_EXPORT static Standard_Real LSToSI(const Standard_Real aData,const Standard_CString aQuantity) ; //! Converts the SI system unit value to the local system units value.
//! Example: SIToLS(1.,"LENGTH") returns 1000. if the local system
//! length unit is millimeter.
Standard_EXPORT static Standard_Real SIToLS(const Standard_Real aData,const Standard_CString aQuantity) ; //! Sets the local system units.
//! Example: SetLocalSystem(UnitsAPI_MDTV)
Standard_EXPORT static void SetLocalSystem(const UnitsAPI_SystemUnits aSystemUnit = UnitsAPI_SI) ; //! Returns the current local system units.
Standard_EXPORT static UnitsAPI_SystemUnits LocalSystem() ; //! Sets the current unit dimension to the unit quantity .
//! Example: SetCurrentUnit("LENGTH","millimeter")
Standard_EXPORT static void SetCurrentUnit(const Standard_CString aQuantity,const Standard_CString aUnit) ; //! Returns the current unit dimension from the unit quantity .
Standard_EXPORT static Standard_CString CurrentUnit(const Standard_CString aQuantity) ; //! saves the units in the file .CurrentUnits of the directory pointed by the
//! CSF_CurrentUnitsUserDefaults environment variable.
Standard_EXPORT static void Save() ; Standard_EXPORT static void Reload() ; //! return the dimension associated to the quantity
Standard_EXPORT static Handle_Units_Dimensions Dimensions(const Standard_CString aQuantity) ; Standard_EXPORT static Handle_Units_Dimensions DimensionLess() ; Standard_EXPORT static Handle_Units_Dimensions DimensionMass() ; Standard_EXPORT static Handle_Units_Dimensions DimensionLength() ; Standard_EXPORT static Handle_Units_Dimensions DimensionTime() ; Standard_EXPORT static Handle_Units_Dimensions DimensionElectricCurrent() ; Standard_EXPORT static Handle_Units_Dimensions DimensionThermodynamicTemperature() ; Standard_EXPORT static Handle_Units_Dimensions DimensionAmountOfSubstance() ; Standard_EXPORT static Handle_Units_Dimensions DimensionLuminousIntensity() ; Standard_EXPORT static Handle_Units_Dimensions DimensionPlaneAngle() ; //! Returns the basic dimensions.
Standard_EXPORT static Handle_Units_Dimensions DimensionSolidAngle() ; //! Checks the coherence between the quantity
//! and the unit in the current system and
//! returns FALSE when it's WRONG.
Standard_EXPORT static Standard_Boolean Check(const Standard_CString aQuantity,const Standard_CString aUnit) ; protected: private: Standard_EXPORT static void CheckLoading(const UnitsAPI_SystemUnits aSystemUnit) ; }; // other Inline functions and methods (like "C++: function call" methods) #endif