1 // Created on: 1997-07-28 2 // Created by: Pierre CHALAMET 3 // Copyright (c) 1997-1999 Matra Datavision 4 // Copyright (c) 1999-2014 OPEN CASCADE SAS 5 // 6 // This file is part of Open CASCADE Technology software library. 7 // 8 // This library is free software; you can redistribute it and/or modify it under 9 // the terms of the GNU Lesser General Public License version 2.1 as published 10 // by the Free Software Foundation, with special exception defined in the file 11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12 // distribution for complete text of the license and disclaimer of any warranty. 13 // 14 // Alternatively, this file may be used under the terms of Open CASCADE 15 // commercial license or contractual agreement. 16 17 #ifndef _Graphic3d_TextureEnv_HeaderFile 18 #define _Graphic3d_TextureEnv_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_Type.hxx> 22 23 #include <Graphic3d_NameOfTextureEnv.hxx> 24 #include <Graphic3d_TextureRoot.hxx> 25 #include <Standard_Integer.hxx> 26 class TCollection_AsciiString; 27 28 29 class Graphic3d_TextureEnv; 30 DEFINE_STANDARD_HANDLE(Graphic3d_TextureEnv, Graphic3d_TextureRoot) 31 32 //! This class provides environment texture. 33 class Graphic3d_TextureEnv : public Graphic3d_TextureRoot 34 { 35 36 public: 37 38 39 //! Creates an environment texture from a file. 40 Standard_EXPORT Graphic3d_TextureEnv(const TCollection_AsciiString& theFileName); 41 42 //! Creates an environment texture from a predefined texture name set. 43 Standard_EXPORT Graphic3d_TextureEnv(const Graphic3d_NameOfTextureEnv theName); 44 45 //! Creates an environment texture from the pixmap. 46 Standard_EXPORT Graphic3d_TextureEnv(const Handle(Image_PixMap)& thePixMap); 47 48 49 //! Returns the name of the predefined textures or NOT_ENV_UNKNOWN 50 //! when the name is given as a filename. 51 Standard_EXPORT Graphic3d_NameOfTextureEnv Name() const; 52 53 54 //! Returns the number of predefined textures. 55 Standard_EXPORT static Standard_Integer NumberOfTextures(); 56 57 58 //! Returns the name of the predefined texture of rank <aRank> 59 Standard_EXPORT static TCollection_AsciiString TextureName (const Standard_Integer theRank); 60 61 62 63 64 DEFINE_STANDARD_RTTIEXT(Graphic3d_TextureEnv,Graphic3d_TextureRoot) 65 66 protected: 67 68 69 70 71 private: 72 73 74 Graphic3d_NameOfTextureEnv myName; 75 76 77 }; 78 79 80 81 82 83 84 85 #endif // _Graphic3d_TextureEnv_HeaderFile 86