0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
[occt.git] / src / UnitsAPI / UnitsAPI.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 4d55462..ba94625
@@ -1,43 +1,34 @@
 // Copyright (c) 1998-1999 Matra Datavision
-// Copyright (c) 1999-2012 OPEN CASCADE SAS
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
 //
-// The content of this file is subject to the Open CASCADE Technology Public
-// License Version 6.5 (the "License"). You may not use the content of this file
-// except in compliance with the License. Please obtain a copy of the License
-// at http://www.opencascade.org and read it completely before using this file.
+// This file is part of Open CASCADE Technology software library.
 //
-// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+// 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.
 //
-// The Original Code and all software distributed under the License is
-// distributed on an "AS IS" basis, without warranty of any kind, and the
-// Initial Developer hereby disclaims all such warranties, including without
-// limitation, any warranties of merchantability, fitness for a particular
-// purpose or non-infringement. Please see the License for the specific terms
-// and conditions governing the rights and limitations under the License.
-
-#include <UnitsAPI.ixx>
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+
+#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
@@ -47,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());
@@ -97,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());
@@ -183,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;
 }
@@ -205,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;
 }
@@ -228,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;
 }
@@ -250,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;
 }
@@ -272,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;
 }
@@ -295,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;
 }
@@ -321,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;
 }
 
@@ -345,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;
 }
 
@@ -398,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;
 }
@@ -449,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;
 }
@@ -470,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;
 }