0028417: Using PRECOMPILED HEADER to speed up compilation time
[occt.git] / src / Graphic3d / Graphic3d_Texture2D.cxx
old mode 100755 (executable)
new mode 100644 (file)
index fed9392..be3a494
@@ -1,27 +1,26 @@
 // Created on: 1997-07-28
 // Created by: Pierre CHALAMET
 // Copyright (c) 1997-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.
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
 
-#include <Graphic3d_Texture2D.ixx>
-#include <TCollection_AsciiString.hxx>
+#include <Graphic3d_Texture2D.hxx>
 
-static const char *NameOfTexture_to_FileName[] =
+#include <Standard_OutOfRange.hxx>
+
+IMPLEMENT_STANDARD_RTTIEXT(Graphic3d_Texture2D,Graphic3d_TextureMap)
+
+static const char *NameOfTexture2d_to_FileName[] =
 {
   "2d_MatraDatavision.rgb",
   "2d_alienskin.rgb",
@@ -43,7 +42,8 @@ static const char *NameOfTexture_to_FileName[] =
   "2d_maple.rgb",
   "2d_marble.rgb",
   "2d_mottled.rgb",
-  "2d_rain.rgb"
+  "2d_rain.rgb",
+  "2d_chess.rgba"
 };
 
 // =======================================================================
@@ -63,12 +63,23 @@ Graphic3d_Texture2D::Graphic3d_Texture2D (const TCollection_AsciiString& theFile
 // =======================================================================
 Graphic3d_Texture2D::Graphic3d_Texture2D (const Graphic3d_NameOfTexture2D theNOT,
                                           const Graphic3d_TypeOfTexture   theType)
-: Graphic3d_TextureMap (NameOfTexture_to_FileName[theNOT], theType),
+: Graphic3d_TextureMap (NameOfTexture2d_to_FileName[theNOT], theType),
   myName (theNOT)
 {
   myPath.SetTrek (Graphic3d_TextureRoot::TexturesFolder());
   myTexId = TCollection_AsciiString ("Graphic3d_Texture2D_")
-          + NameOfTexture_to_FileName[theNOT];
+          + NameOfTexture2d_to_FileName[theNOT];
+}
+
+// =======================================================================
+// function : Graphic3d_Texture2D
+// purpose  :
+// =======================================================================
+Graphic3d_Texture2D::Graphic3d_Texture2D (const Handle(Image_PixMap)&    thePixMap,
+                                          const Graphic3d_TypeOfTexture  theType)
+: Graphic3d_TextureMap (thePixMap, theType),
+  myName (Graphic3d_NOT_2D_UNKNOWN)
+{
 }
 
 // =======================================================================
@@ -77,7 +88,7 @@ Graphic3d_Texture2D::Graphic3d_Texture2D (const Graphic3d_NameOfTexture2D theNOT
 // =======================================================================
 Standard_Integer Graphic3d_Texture2D::NumberOfTextures()
 {
-  return sizeof(NameOfTexture_to_FileName)/sizeof(char*);
+  return sizeof(NameOfTexture2d_to_FileName)/sizeof(char*);
 }
 
 // =======================================================================
@@ -97,10 +108,21 @@ TCollection_AsciiString Graphic3d_Texture2D::TextureName (const Standard_Integer
 {
   if (theRank < 1 || theRank > NumberOfTextures())
   {
-    Standard_OutOfRange::Raise ("BAD index of texture");
+    throw Standard_OutOfRange("BAD index of texture");
   }
 
-  TCollection_AsciiString aFileName (NameOfTexture_to_FileName[theRank - 1]);
+  TCollection_AsciiString aFileName (NameOfTexture2d_to_FileName[theRank - 1]);
   Standard_Integer i = aFileName.SearchFromEnd (".");
   return aFileName.SubString (4, i - 1);
 }
+
+// =======================================================================
+// function : SetImage
+// purpose  :
+// =======================================================================
+void Graphic3d_Texture2D::SetImage (const Handle(Image_PixMap)& thePixMap)
+{
+  myPixMap = thePixMap;
+  myPath = OSD_Path();
+  myName = Graphic3d_NOT_2D_UNKNOWN;
+}