// 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",
"2d_maple.rgb",
"2d_marble.rgb",
"2d_mottled.rgb",
- "2d_rain.rgb"
+ "2d_rain.rgb",
+ "2d_chess.rgba"
};
// =======================================================================
// =======================================================================
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)
+{
}
// =======================================================================
// =======================================================================
Standard_Integer Graphic3d_Texture2D::NumberOfTextures()
{
- return sizeof(NameOfTexture_to_FileName)/sizeof(char*);
+ return sizeof(NameOfTexture2d_to_FileName)/sizeof(char*);
}
// =======================================================================
{
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;
+}