Open CASCADE Technology 7.8.2.dev
|
OBJ writer context from XCAF document. More...
#include <RWObj_CafWriter.hxx>
Public Member Functions | |
RWObj_CafWriter (const TCollection_AsciiString &theFile) | |
Main constructor. | |
virtual | ~RWObj_CafWriter () |
Destructor. | |
const RWMesh_CoordinateSystemConverter & | CoordinateSystemConverter () const |
Return transformation from OCCT to OBJ coordinate system. | |
RWMesh_CoordinateSystemConverter & | ChangeCoordinateSystemConverter () |
Return transformation from OCCT to OBJ coordinate system. | |
void | SetCoordinateSystemConverter (const RWMesh_CoordinateSystemConverter &theConverter) |
Set transformation from OCCT to OBJ coordinate system. | |
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. | |
virtual bool | Perform (const Handle< TDocStd_Document > &theDocument, const TDF_LabelSequence &theRootLabels, const TColStd_MapOfAsciiString *theLabelFilter, const TColStd_IndexedDataMapOfStringString &theFileInfo, const Message_ProgressRange &theProgress) |
Write OBJ file and associated MTL material file. Triangulation data should be precomputed within shapes! | |
virtual bool | Perform (const Handle< TDocStd_Document > &theDocument, const TColStd_IndexedDataMapOfStringString &theFileInfo, const Message_ProgressRange &theProgress) |
Write OBJ file and associated MTL material file. Triangulation data should be precomputed within shapes! | |
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 () |
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_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. | |
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. | |
Protected Member Functions | |
virtual Standard_Boolean | toSkipFaceMesh (const RWMesh_FaceIterator &theFaceIter) |
Return TRUE if face mesh should be skipped (e.g. because it is invalid or empty). | |
virtual void | addFaceInfo (const RWMesh_FaceIterator &theFace, Standard_Integer &theNbNodes, Standard_Integer &theNbElems, Standard_Real &theNbProgressSteps, Standard_Boolean &theToCreateMatFile) |
Collect face triangulation info. | |
virtual bool | writeShape (RWObj_ObjWriterContext &theWriter, RWObj_ObjMaterialMap &theMatMgr, Message_LazyProgressScope &thePSentry, const TDF_Label &theLabel, const TopLoc_Location &theParentTrsf, const XCAFPrs_Style &theParentStyle, const TCollection_AsciiString &theName) |
Write the shape. | |
virtual bool | writePositions (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangle vertex positions. | |
virtual bool | writeNormals (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangle vertex normals. | |
virtual bool | writeTextCoords (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangle vertex texture coordinates. | |
virtual bool | writeIndices (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangles indices. | |
Protected Attributes | |
TCollection_AsciiString | myFile |
output OBJ file | |
RWMesh_CoordinateSystemConverter | myCSTrsf |
transformation from OCCT to OBJ coordinate system | |
XCAFPrs_Style | myDefaultStyle |
default material definition to be used for nodes with only color defined | |
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. | |
OBJ writer context from XCAF document.
RWObj_CafWriter::RWObj_CafWriter | ( | const TCollection_AsciiString & | theFile | ) |
Main constructor.
theFile | [in] path to output OBJ file |
|
virtual |
Destructor.
|
protectedvirtual |
Collect face triangulation info.
theFace | [in] face to process |
theNbNodes | [in] [out] overall number of triangulation nodes (should be appended) |
theNbElems | [in] [out] overall number of triangulation elements (should be appended) |
theNbProgressSteps | [in] [out] overall number of progress steps (should be appended) |
theToCreateMatFile | [in] [out] flag to create material file or not (should be appended) |
|
inline |
Return transformation from OCCT to OBJ coordinate system.
|
inline |
Return transformation from OCCT to OBJ coordinate system.
|
inline |
Return default material definition to be used for nodes with only color defined.
|
virtual |
Write OBJ file and associated MTL material file. Triangulation data should be precomputed within shapes!
theDocument | [in] input document |
theFileInfo | [in] map with file metadata to put into glTF header section |
theProgress | [in] optional progress indicator |
|
virtual |
Write OBJ file and associated MTL material file. Triangulation data should be precomputed within shapes!
theDocument | [in] input document |
theRootLabels | [in] list of root shapes to export |
theLabelFilter | [in] optional filter with document nodes to export, with keys defined by XCAFPrs_DocumentExplorer::DefineChildId() and filled recursively (leaves and parent assembly nodes at all levels); when not NULL, all nodes not included into the map will be ignored |
theFileInfo | [in] map with file metadata to put into OBJ header section |
theProgress | [in] optional progress indicator |
|
inline |
Set transformation from OCCT to OBJ coordinate system.
|
inline |
Set default material definition to be used for nodes with only color defined.
|
protectedvirtual |
Return TRUE if face mesh should be skipped (e.g. because it is invalid or empty).
|
protectedvirtual |
Write face triangles indices.
theWriter | [in] OBJ writer context |
thePSentry | [in] progress sentry |
theFace | [in] current face |
|
protectedvirtual |
Write face triangle vertex normals.
theWriter | [in] OBJ writer context |
thePSentry | [in] progress sentry |
theFace | [in] current face |
|
protectedvirtual |
Write face triangle vertex positions.
theWriter | [in] OBJ writer context |
thePSentry | [in] progress sentry |
theFace | [in] current face |
|
protectedvirtual |
Write the shape.
theWriter | [in] OBJ writer context |
theMatMgr | [in] OBJ material map |
thePSentry | [in] progress sentry |
theLabel | [in] document label to process |
theParentTrsf | [in] parent node transformation |
theParentStyle | [in] parent node style |
theName | [in] node name |
|
protectedvirtual |
Write face triangle vertex texture coordinates.
theWriter | [in] OBJ writer context |
thePSentry | [in] progress sentry |
theFace | [in] current face |
|
protected |
transformation from OCCT to OBJ coordinate system
|
protected |
default material definition to be used for nodes with only color defined
|
protected |
output OBJ file