Open CASCADE Technology 7.8.2.dev
RWObj_ObjMaterialMap Class Reference

Material MTL file writer for OBJ export. More...

#include <RWObj_ObjMaterialMap.hxx>

Inheritance diagram for RWObj_ObjMaterialMap:

Public Member Functions

 RWObj_ObjMaterialMap (const TCollection_AsciiString &theFile)
 Main constructor.
 
virtual ~RWObj_ObjMaterialMap ()
 Destructor, will emit error message if file was not closed.
 
virtual TCollection_AsciiString AddMaterial (const XCAFPrs_Style &theStyle) override
 Add material.
 
virtual void DefineMaterial (const XCAFPrs_Style &theStyle, const TCollection_AsciiString &theKey, const TCollection_AsciiString &theName) override
 Virtual method actually defining the material (e.g. export to the file).
 
- Public Member Functions inherited from RWMesh_MaterialMap
 RWMesh_MaterialMap (const TCollection_AsciiString &theFile)
 Main constructor.
 
virtual ~RWMesh_MaterialMap ()
 Destructor.
 
const XCAFPrs_StyleDefaultStyle () const
 Return default material definition to be used for nodes with only color defined.
 
void SetDefaultStyle (const XCAFPrs_Style &theStyle)
 Set default material definition to be used for nodes with only color defined.
 
TCollection_AsciiString FindMaterial (const XCAFPrs_Style &theStyle) const
 Find already registered material.
 
virtual bool CreateTextureFolder ()
 Create texture folder "modelName/textures"; for example: MODEL: Path/ModelName.gltf IMAGES: Path/ModelName/textures/ Warning! Output folder is NOT cleared.
 
virtual bool CopyTexture (TCollection_AsciiString &theResTexture, const Handle< Image_Texture > &theTexture, const TCollection_AsciiString &theKey)
 Copy and rename texture file to the new location.
 
bool IsFailed () const
 Return failed flag.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const char * get_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 
- Static Protected Member Functions inherited from RWMesh_MaterialMap
static bool copyFileTo (const TCollection_AsciiString &theFileSrc, const TCollection_AsciiString &theFileDst)
 Copy file to another place.
 
- Protected Attributes inherited from RWMesh_MaterialMap
TCollection_AsciiString myFolder
 output folder for glTF file
 
TCollection_AsciiString myTexFolder
 output folder for images (full path)
 
TCollection_AsciiString myTexFolderShort
 output folder for images (short path)
 
TCollection_AsciiString myFileName
 output glTF file path
 
TCollection_AsciiString myShortFileNameBase
 output glTF file name without extension
 
TCollection_AsciiString myKeyPrefix
 prefix for generated keys
 
NCollection_DoubleMap< XCAFPrs_Style, TCollection_AsciiStringmyStyles
 map of processed styles
 
NCollection_Map< Handle< Image_Texture > > myImageFailMap
 map of images failed to be copied
 
XCAFPrs_Style myDefaultStyle
 default material definition to be used for nodes with only color defined
 
Standard_Integer myNbMaterials
 number of registered materials
 
Standard_Boolean myIsFailed
 flag indicating failure
 
Standard_Boolean myMatNameAsKey
 flag indicating usage of material name as key
 

Detailed Description

Material MTL file writer for OBJ export.

Constructor & Destructor Documentation

◆ RWObj_ObjMaterialMap()

RWObj_ObjMaterialMap::RWObj_ObjMaterialMap ( const TCollection_AsciiString & theFile)

Main constructor.

◆ ~RWObj_ObjMaterialMap()

virtual RWObj_ObjMaterialMap::~RWObj_ObjMaterialMap ( )
virtual

Destructor, will emit error message if file was not closed.

Member Function Documentation

◆ AddMaterial()

virtual TCollection_AsciiString RWObj_ObjMaterialMap::AddMaterial ( const XCAFPrs_Style & theStyle)
overridevirtual

Add material.

Reimplemented from RWMesh_MaterialMap.

◆ DefineMaterial()

virtual void RWObj_ObjMaterialMap::DefineMaterial ( const XCAFPrs_Style & theStyle,
const TCollection_AsciiString & theKey,
const TCollection_AsciiString & theName )
overridevirtual

Virtual method actually defining the material (e.g. export to the file).

Implements RWMesh_MaterialMap.


The documentation for this class was generated from the following file: