0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
[occt.git] / src / UnitsAPI / UnitsAPI.cxx
index 6558bce..ba94625 100644 (file)
@@ -3,8 +3,8 @@
 //
 // This file is part of Open CASCADE Technology software library.
 //
-// This library is free software; you can redistribute it and / or modify it
-// under the terms of the GNU Lesser General Public version 2.1 as published
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
 // by the Free Software Foundation, with special exception defined in the file
 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
 // distribution for complete text of the license and disclaimer of any warranty.
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#include <UnitsAPI.ixx>
+
+#include <OSD_Environment.hxx>
+#include <Resource_Manager.hxx>
+#include <Standard_NoSuchObject.hxx>
+#include <TCollection_AsciiString.hxx>
 #include <Units.hxx>
-#include <Units_Unit.hxx>
+#include <Units_Dimensions.hxx>
 #include <Units_Quantity.hxx>
+#include <Units_Unit.hxx>
 #include <Units_UnitsSystem.hxx>
-#include <Resource_Manager.hxx>
-#include <TCollection_AsciiString.hxx>
-#include <Standard_NoSuchObject.hxx>
-#include <OSD_Environment.hxx>
+#include <UnitsAPI.hxx>
 
 static Handle(Resource_Manager) CurrentUnits,SICurrentUnits,MDTVCurrentUnits;
 static Units_UnitsSystem LocalSystemUnits,SILocalSystemUnits,MDTVLocalSystemUnits;
 static TCollection_AsciiString rstring;
 static UnitsAPI_SystemUnits localSystem = UnitsAPI_SI;
 static UnitsAPI_SystemUnits currentSystem = UnitsAPI_DEFAULT;
-static OSD_Environment env1("CSF_UnitsLexicon");
-static OSD_Environment env2("CSF_UnitsDefinition");
-#ifdef WNT
-static OSD_Environment env3("CSF_CurrentUnits");
-static OSD_Environment env4("CSF_MDTVCurrentUnits");
-#endif
-
 
 //=======================================================================
 //function : CheckLoading
@@ -43,41 +38,15 @@ static OSD_Environment env4("CSF_MDTVCurrentUnits");
 void UnitsAPI::CheckLoading (const UnitsAPI_SystemUnits aSystemUnits)
 {
   if( currentSystem != aSystemUnits || CurrentUnits.IsNull()) {
-    TCollection_AsciiString slexiconfile(env1.Value());
-    if( slexiconfile.Length() > 0 )
-      Units::LexiconFile(slexiconfile.ToCString());
-    else {
-      OSD_Environment CasRootEnv("CASROOT");
-      TCollection_AsciiString CasRootString(CasRootEnv.Value());
-      if (CasRootString.Length() > 0 )  {
-       CasRootString += "/src/UnitsAPI/Lexi_Expr.dat" ;
-       Units::LexiconFile(CasRootString.ToCString());
-      }
-      else {
-       Standard_NoSuchObject::Raise("environment variable CSF_UnitsLexicon undefined");
-      }
-    }
-    TCollection_AsciiString sunitsfile(env2.Value());
-    if( sunitsfile.Length() > 0 )
-      Units::UnitsFile(sunitsfile.ToCString());
-    else {
-      OSD_Environment CasRootEnv("CASROOT");
-      TCollection_AsciiString CasRootString(CasRootEnv.Value());
-      if (CasRootString.Length() > 0 ) {
-       CasRootString += "/src/UnitsAPI/Units.dat";
-       Units::UnitsFile(CasRootString.ToCString());
-      }
-      else {
-       Standard_NoSuchObject::Raise("environment variable CSF_UnitsDefinition undefined");
-      }
-    }  
     switch (aSystemUnits) {
       case UnitsAPI_DEFAULT :
         if( !CurrentUnits.IsNull() ) break;
+        Standard_FALLTHROUGH
       case UnitsAPI_SI :  
         currentSystem = UnitsAPI_SI; 
         if( SICurrentUnits.IsNull() ) {
-#ifdef WNT
+#ifdef _WIN32
+          OSD_Environment env3("CSF_CurrentUnits");
           TCollection_AsciiString csfcurrent (env3.Value());
           if( csfcurrent.Length() > 0 )
                 SICurrentUnits = new Resource_Manager(csfcurrent.ToCString());
@@ -93,7 +62,8 @@ void UnitsAPI::CheckLoading (const UnitsAPI_SystemUnits aSystemUnits)
       case UnitsAPI_MDTV :  
         currentSystem = UnitsAPI_MDTV; 
         if( MDTVCurrentUnits.IsNull() )  {
-#ifdef WNT
+#ifdef _WIN32
+          OSD_Environment env4("CSF_MDTVCurrentUnits");
           TCollection_AsciiString csfmdtvcurrent (env4.Value());
           if( csfmdtvcurrent.Length() > 0 )
                 MDTVCurrentUnits = new Resource_Manager(csfmdtvcurrent.ToCString());
@@ -179,9 +149,11 @@ Standard_Real UnitsAPI::CurrentToLS(const Standard_Real aData,
     aValue = Units::ToSI(aData,current.ToCString());
     aValue = LocalSystemUnits.ConvertSIValueToUserSystem(aQuantity,aValue);
   }
+#ifdef OCCT_DEBUG
   else {
-    cout <<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout <<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -201,9 +173,11 @@ Standard_Real UnitsAPI::CurrentToSI(const Standard_Real aData,
     TCollection_AsciiString current(CurrentUnits->Value(aQuantity));
     aValue = Units::ToSI(aData,current.ToCString());
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -224,9 +198,11 @@ Standard_Real UnitsAPI::CurrentFromLS(const Standard_Real aData,
     aValue = LocalSystemUnits.ConvertUserSystemValueToSI(aQuantity,aData);
     aValue = Units::FromSI(aValue,current.ToCString());
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -246,9 +222,11 @@ Standard_Real UnitsAPI::CurrentFromSI(const Standard_Real aData,
     TCollection_AsciiString current(CurrentUnits->Value(aQuantity));
     aValue = Units::FromSI(aData,current.ToCString());
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -268,9 +246,11 @@ Standard_Real UnitsAPI::CurrentToAny(const Standard_Real aData,
     TCollection_AsciiString current(CurrentUnits->Value(aQuantity));
     aValue = AnyToAny(aData,current.ToCString(),aUnit);
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -291,9 +271,11 @@ Standard_Real UnitsAPI::CurrentFromAny(const Standard_Real aData,
     TCollection_AsciiString current(CurrentUnits->Value(aQuantity));
     aValue = AnyToAny(aData,aUnit,current.ToCString());
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -317,8 +299,10 @@ Standard_Real UnitsAPI::AnyToLS(const Standard_Real aData,
   if( quantity ) {
     aValue = LocalSystemUnits.ConvertSIValueToUserSystem(quantity,aValue);
   }
+#ifdef OCCT_DEBUG
   else
-    cout<<"Warning: BAD Quantity returns in UnitsAPI::AnyToLS(" << aData << "," << aUnit << ")" << endl;
+    std::cout<<"Warning: BAD Quantity returns in UnitsAPI::AnyToLS(" << aData << "," << aUnit << ")" << std::endl;
+#endif
   return aValue;
 }
 
@@ -341,8 +325,10 @@ Standard_Real UnitsAPI::AnyToLS(const Standard_Real aData,
   if( quantity ) {
     aValue = LocalSystemUnits.ConvertSIValueToUserSystem(quantity,aValue);
   }
+#ifdef OCCT_DEBUG
   else
-    cout<<"Warning: BAD Quantity returns in UnitsAPI::AnyToLS(" << aData << "," << aUnit << "," << aDim << ")" << endl;
+    std::cout<<"Warning: BAD Quantity returns in UnitsAPI::AnyToLS(" << aData << "," << aUnit << "," << aDim.get() << ")" << std::endl;
+#endif
   return aValue;
 }
 
@@ -394,8 +380,10 @@ Standard_Real UnitsAPI::AnyFromLS(const Standard_Real aData,
   if( quantity ) {
     aValue = LocalSystemUnits.ConvertUserSystemValueToSI(quantity,aValue);
   }
+#ifdef OCCT_DEBUG
   else
-    cout<<"Warning: BAD Quantity returns in UnitsAPI::AnyToLS(" << aData << "," << aUnit << ")" << endl;
+    std::cout<<"Warning: BAD Quantity returns in UnitsAPI::AnyToLS(" << aData << "," << aUnit << ")" << std::endl;
+#endif
 
   return aValue;
 }
@@ -445,9 +433,11 @@ Standard_Real UnitsAPI::LSToSI(const Standard_Real aData,
   if( CurrentUnits->Find(aQuantity) ) {
     aValue = LocalSystemUnits.ConvertUserSystemValueToSI(aQuantity,aData);
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }
@@ -466,9 +456,11 @@ Standard_Real UnitsAPI::SIToLS(const Standard_Real aData,
   if( CurrentUnits->Find(aQuantity) ) {
     aValue = LocalSystemUnits.ConvertSIValueToUserSystem(aQuantity,aValue);
   }
+#ifdef OCCT_DEBUG
   else {
-    cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << endl;
+    std::cout<<"Warning: UnitsAPI,the quantity '" << aQuantity << "' does not exist in the current units system" << std::endl;
   }
+#endif
 
   return aValue;
 }