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_TextureMap_HeaderFile 18 #define _Graphic3d_TextureMap_HeaderFile 19 20 #include <Graphic3d_TextureRoot.hxx> 21 #include <Graphic3d_TypeOfTexture.hxx> 22 #include <Graphic3d_LevelOfTextureAnisotropy.hxx> 23 class TCollection_AsciiString; 24 25 //! This is an abstract class for managing texture applyable on polygons. 26 class Graphic3d_TextureMap : public Graphic3d_TextureRoot 27 { 28 DEFINE_STANDARD_RTTIEXT(Graphic3d_TextureMap, Graphic3d_TextureRoot) 29 public: 30 31 //! enable texture smoothing 32 Standard_EXPORT void EnableSmooth(); 33 34 //! Returns TRUE if the texture is smoothed. 35 Standard_EXPORT Standard_Boolean IsSmoothed() const; 36 37 //! disable texture smoothing 38 Standard_EXPORT void DisableSmooth(); 39 40 //! enable texture modulate mode. 41 //! the image is modulate with the shading of the surface. 42 Standard_EXPORT void EnableModulate(); 43 44 //! disable texture modulate mode. 45 //! the image is directly decal on the surface. 46 Standard_EXPORT void DisableModulate(); 47 48 //! Returns TRUE if the texture is modulate. 49 Standard_EXPORT Standard_Boolean IsModulate() const; 50 51 //! use this methods if you want to enable 52 //! texture repetition on your objects. 53 Standard_EXPORT void EnableRepeat(); 54 55 //! use this methods if you want to disable 56 //! texture repetition on your objects. 57 Standard_EXPORT void DisableRepeat(); 58 59 //! Returns TRUE if the texture repeat is enable. 60 Standard_EXPORT Standard_Boolean IsRepeat() const; 61 62 //! @return level of anisotropy texture filter. 63 //! Default value is Graphic3d_LOTA_OFF. 64 Standard_EXPORT Graphic3d_LevelOfTextureAnisotropy AnisoFilter() const; 65 66 //! @param theLevel level of anisotropy texture filter. 67 Standard_EXPORT void SetAnisoFilter (const Graphic3d_LevelOfTextureAnisotropy theLevel); 68 69 protected: 70 71 Standard_EXPORT Graphic3d_TextureMap(const TCollection_AsciiString& theFileName, const Graphic3d_TypeOfTexture theType); 72 73 Standard_EXPORT Graphic3d_TextureMap(const Handle(Image_PixMap)& thePixMap, const Graphic3d_TypeOfTexture theType); 74 75 }; 76 77 DEFINE_STANDARD_HANDLE(Graphic3d_TextureMap, Graphic3d_TextureRoot) 78 79 #endif // _Graphic3d_TextureMap_HeaderFile 80