Open CASCADE Technology
7.7.0
|
OBJ writer context from XCAF document. More...
#include <RWObj_CafWriter.hxx>
Public Member Functions | |
RWObj_CafWriter (const TCollection_AsciiString &theFile) | |
Main constructor. More... | |
virtual | ~RWObj_CafWriter () |
Destructor. More... | |
const RWMesh_CoordinateSystemConverter & | CoordinateSystemConverter () const |
Return transformation from OCCT to OBJ coordinate system. More... | |
RWMesh_CoordinateSystemConverter & | ChangeCoordinateSystemConverter () |
Return transformation from OCCT to OBJ coordinate system. More... | |
void | SetCoordinateSystemConverter (const RWMesh_CoordinateSystemConverter &theConverter) |
Set transformation from OCCT to OBJ coordinate system. More... | |
const XCAFPrs_Style & | DefaultStyle () const |
Return default material definition to be used for nodes with only color defined. More... | |
void | SetDefaultStyle (const XCAFPrs_Style &theStyle) |
Set default material definition to be used for nodes with only color defined. More... | |
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! More... | |
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! More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
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. More... | |
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. More... | |
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. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
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). More... | |
virtual void | addFaceInfo (const RWMesh_FaceIterator &theFace, Standard_Integer &theNbNodes, Standard_Integer &theNbElems, Standard_Real &theNbProgressSteps, Standard_Boolean &theToCreateMatFile) |
Collect face triangulation info. More... | |
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. More... | |
virtual bool | writePositions (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangle vertex positions. More... | |
virtual bool | writeNormals (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangle vertex normals. More... | |
virtual bool | writeTextCoords (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangle vertex texture coordinates. More... | |
virtual bool | writeIndices (RWObj_ObjWriterContext &theWriter, Message_LazyProgressScope &thePSentry, const RWMesh_FaceIterator &theFace) |
Write face triangles indices. More... | |
Protected Attributes | |
TCollection_AsciiString | myFile |
output OBJ file More... | |
RWMesh_CoordinateSystemConverter | myCSTrsf |
transformation from OCCT to OBJ coordinate system More... | |
XCAFPrs_Style | myDefaultStyle |
default material definition to be used for nodes with only color defined More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
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 |
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 |
|
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 |
|
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