![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Material manager. Provides an interface for collecting all materials within the document before writing it into file, and for copying associated image files (textures) into sub-folder near by exported model. More...
#include <RWMesh_MaterialMap.hxx>

Public Member Functions | |
| RWMesh_MaterialMap (const TCollection_AsciiString &theFile) | |
| Main constructor. | |
| ~RWMesh_MaterialMap () override | |
| Destructor. | |
| const XCAFPrs_Style & | DefaultStyle () 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 TCollection_AsciiString | AddMaterial (const XCAFPrs_Style &theStyle) |
| Register material and return its name identifier. | |
| 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 occ::handle< Image_Texture > &theTexture, const TCollection_AsciiString &theKey) |
| Copy and rename texture file to the new location. | |
| virtual void | DefineMaterial (const XCAFPrs_Style &theStyle, const TCollection_AsciiString &theKey, const TCollection_AsciiString &theName)=0 |
| Virtual method actually defining the material (e.g. export to the file). | |
| 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_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. | |
| virtual | ~Standard_Transient ()=default |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| bool | IsInstance (const char *const theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| bool | 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. | |
| bool | IsKind (const char *const 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_Transient * | This () 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. | |
| int | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations. | |
| int | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement. | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. | |
Static Protected Member Functions | |
| static bool | copyFileTo (const TCollection_AsciiString &theFileSrc, const TCollection_AsciiString &theFileDst) |
| Copy file to another place. | |
Protected Attributes | |
| 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_AsciiString > | myStyles |
| map of processed styles | |
| NCollection_Map< occ::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 | |
| int | myNbMaterials |
| number of registered materials | |
| bool | myIsFailed |
| flag indicating failure | |
| bool | myMatNameAsKey |
| flag indicating usage of material name as key | |
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. | |
Material manager. Provides an interface for collecting all materials within the document before writing it into file, and for copying associated image files (textures) into sub-folder near by exported model.
| RWMesh_MaterialMap::RWMesh_MaterialMap | ( | const TCollection_AsciiString & | theFile | ) |
Main constructor.
|
override |
Destructor.
|
virtual |
Register material and return its name identifier.
Reimplemented in RWGltf_GltfMaterialMap, and RWObj_ObjMaterialMap.
|
staticprotected |
Copy file to another place.
|
virtual |
Copy and rename texture file to the new location.
| [out] | theResTexture | result texture file path (relative to the model) |
| [in] | theTexture | original texture |
| [in] | theKey | material key |
Create texture folder "modelName/textures"; for example: MODEL: Path/ModelName.gltf IMAGES: Path/ModelName/textures/ Warning! Output folder is NOT cleared.
|
inline |
Return default material definition to be used for nodes with only color defined.
|
pure virtual |
Virtual method actually defining the material (e.g. export to the file).
Implemented in RWGltf_GltfMaterialMap, and RWObj_ObjMaterialMap.
|
inline |
Find already registered material.
|
inline |
Return failed flag.
|
inline |
Set default material definition to be used for nodes with only color defined.
|
protected |
default material definition to be used for nodes with only color defined
|
protected |
output glTF file path
|
protected |
output folder for glTF file
|
protected |
map of images failed to be copied
|
protected |
flag indicating failure
|
protected |
prefix for generated keys
|
protected |
flag indicating usage of material name as key
|
protected |
number of registered materials
|
protected |
output glTF file name without extension
|
protected |
map of processed styles
|
protected |
output folder for images (full path)
|
protected |
output folder for images (short path)