![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Interface for reading primitive array from the buffer. More...
#include <RWMesh_TriangulationReader.hxx>

Data Structures | |
| struct | LoadingStatistic |
Public Member Functions | |
| RWMesh_TriangulationReader () | |
| Constructor. | |
| ~RWMesh_TriangulationReader () override | |
| Destructor. | |
| const TCollection_AsciiString & | FileName () const |
| Returns file name for reporting issues. | |
| void | SetFileName (const TCollection_AsciiString &theFileName) |
| Sets file name for reporting issues. | |
| const RWMesh_CoordinateSystemConverter & | CoordinateSystemConverter () const |
| Returns coordinate system converter using for correct data loading. | |
| void | SetCoordinateSystemConverter (const RWMesh_CoordinateSystemConverter &theConverter) |
| Sets coordinate system converter. | |
| bool | IsDoublePrecision () const |
| Returns flag to fill in triangulation using double or single precision; FALSE by default. | |
| void | SetDoublePrecision (bool theIsDouble) |
| Sets flag to fill in triangulation using double or single precision. | |
| bool | ToSkipDegenerates () const |
| Returns TRUE if degenerated triangles should be skipped during mesh loading (only indexes will be checked). | |
| void | SetToSkipDegenerates (const bool theToSkip) |
| Sets flag to skip degenerated triangles during mesh loading (only indexes will be checked). | |
| bool | ToPrintDebugMessages () const |
| Returns TRUE if additional debug information should be print. | |
| void | SetToPrintDebugMessages (const bool theToPrint) |
| Sets flag to print debug information. | |
| void | StartStatistic () |
| Starts and reset internal object that accumulates nodes/triangles statistic during data reading. | |
| void | StopStatistic () |
| Stops and nullify internal object that accumulates nodes/triangles statistic during data reading. | |
| void | PrintStatistic () const |
| Prints loading statistic. This method should be used between StartStatistic() and StopStatistic() calls for correct results. | |
| bool | Load (const occ::handle< RWMesh_TriangulationSource > &theSourceMesh, const occ::handle< Poly_Triangulation > &theDestMesh, const occ::handle< OSD_FileSystem > &theFileSystem) const |
| Loads primitive array. | |
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. | |
Protected Member Functions | |
| virtual bool | load (const occ::handle< RWMesh_TriangulationSource > &theSourceMesh, const occ::handle< Poly_Triangulation > &theDestMesh, const occ::handle< OSD_FileSystem > &theFileSystem) const =0 |
| Loads primitive array. | |
| virtual bool | finalizeLoading (const occ::handle< RWMesh_TriangulationSource > &theSourceMesh, const occ::handle< Poly_Triangulation > &theDestMesh) const |
| Performs additional actions to finalize data loading. | |
interface for filling triangulation data | ||||||||||
Resizes array of position nodes to specified size.
| ||||||||||
| RWMesh_CoordinateSystemConverter | myCoordSysConverter | |||||||||
| coordinate system converter | ||||||||||
| TCollection_AsciiString | myFileName | |||||||||
| file name to use during message printing | ||||||||||
| std::mutex | myMutex | |||||||||
| internal mutex to collect nodes/triangles statistic | ||||||||||
| LoadingStatistic * | myLoadingStatistic | |||||||||
| statistic of loaded triangulation | ||||||||||
| bool | myIsDoublePrecision | |||||||||
| flag to fill in triangulation using single or double precision | ||||||||||
| bool | myToSkipDegenerateTris | |||||||||
| flag to skip degenerate triangles during loading, FALSE by default | ||||||||||
| bool | myToPrintDebugMessages | |||||||||
| flag to print additional debug information | ||||||||||
| virtual bool | setNbPositionNodes (const occ::handle< Poly_Triangulation > &theMesh, int theNbNodes, bool theToCopyData=false) const | |||||||||
| coordinate system converter | ||||||||||
| virtual void | setNodePosition (const occ::handle< Poly_Triangulation > &theMesh, int theIndex, const gp_Pnt &thePnt) const | |||||||||
| Sets node position. | ||||||||||
| virtual bool | setNbUVNodes (const occ::handle< Poly_Triangulation > &theMesh, int theNbNodes) const | |||||||||
| Resizes array of UV nodes to specified size. | ||||||||||
| virtual void | setNodeUV (const occ::handle< Poly_Triangulation > &theMesh, int theIndex, const gp_Pnt2d &theUV) const | |||||||||
| Sets node UV texture coordinates. | ||||||||||
| virtual bool | setNbNormalNodes (const occ::handle< Poly_Triangulation > &theMesh, int theNbNodes) const | |||||||||
| Resizes array of nodes normals to specified size. | ||||||||||
| virtual void | setNodeNormal (const occ::handle< Poly_Triangulation > &theMesh, int theIndex, const NCollection_Vec3< float > &theNormal) const | |||||||||
| Sets node normal. | ||||||||||
| virtual bool | setNbTriangles (const occ::handle< Poly_Triangulation > &theMesh, int theNbTris, bool theToCopyData=false) const | |||||||||
| Resizes array of triangles to specified size. | ||||||||||
| virtual int | setTriangle (const occ::handle< Poly_Triangulation > &theMesh, int theIndex, const Poly_Triangle &theTriangle) const | |||||||||
| Adds triangle element. | ||||||||||
| virtual bool | setNbEdges (const occ::handle< Poly_Triangulation > &theMesh, const int theNbEdges, const bool theToCopyData=false) const | |||||||||
| Resizes array of edges to specified size. | ||||||||||
| virtual int | setEdge (const occ::handle< Poly_Triangulation > &theMesh, const int theIndex, const int theEdge) const | |||||||||
| Adds edge element. | ||||||||||
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. | |
Interface for reading primitive array from the buffer.
| RWMesh_TriangulationReader::RWMesh_TriangulationReader | ( | ) |
Constructor.
|
override |
Destructor.
|
inline |
Returns coordinate system converter using for correct data loading.
|
inline |
Returns file name for reporting issues.
|
protectedvirtual |
Performs additional actions to finalize data loading.
Reimplemented in RWGltf_TriangulationReader.
|
inline |
Returns flag to fill in triangulation using double or single precision; FALSE by default.
| bool RWMesh_TriangulationReader::Load | ( | const occ::handle< RWMesh_TriangulationSource > & | theSourceMesh, |
| const occ::handle< Poly_Triangulation > & | theDestMesh, | ||
| const occ::handle< OSD_FileSystem > & | theFileSystem ) const |
Loads primitive array.
|
protectedpure virtual |
Loads primitive array.
Implemented in RWGltf_TriangulationReader.
|
inline |
Prints loading statistic. This method should be used between StartStatistic() and StopStatistic() calls for correct results.
|
inline |
Sets coordinate system converter.
Sets flag to fill in triangulation using double or single precision.
|
protectedvirtual |
Adds edge element.
| [in] | theMesh | triangulation source to be modified |
| theIndex | edge index starting from 1 | |
| theEdge | edge nodes starting from 1 |
|
inline |
Sets file name for reporting issues.
|
protectedvirtual |
Resizes array of edges to specified size.
| [in] | theMesh | triangulation source to be modified |
| [in] | theNbEdges | elements number |
| [in] | theToCopyData | copy old edges into new array |
|
inlineprotectedvirtual |
Resizes array of nodes normals to specified size.
| [in] | theMesh | triangulation to be modified |
| [in] | theNbNodes | nodes number |
|
inlineprotectedvirtual |
coordinate system converter
|
inlineprotectedvirtual |
Resizes array of triangles to specified size.
| [in] | theMesh | triangulation to be modified |
| [in] | theNbTris | elements number |
| [in] | theToCopyData | copy old triangles into new array |
|
inlineprotectedvirtual |
Resizes array of UV nodes to specified size.
| [in] | theMesh | triangulation to be modified |
| [in] | theNbNodes | nodes number |
|
inlineprotectedvirtual |
Sets node normal.
| [in] | theMesh | triangulation to be modified |
| theIndex | node index starting from 1 | |
| theNormal | node normal vector |
|
inlineprotectedvirtual |
Sets node position.
| [in] | theMesh | triangulation to be modified |
| [in] | theIndex | node index starting from 1 |
| [in] | thePnt | node position |
|
inlineprotectedvirtual |
Sets node UV texture coordinates.
| [in] | theMesh | triangulation to be modified |
| [in] | theIndex | node index starting from 1 |
| [in] | theUV | node UV coordinates |
Sets flag to print debug information.
Sets flag to skip degenerated triangles during mesh loading (only indexes will be checked).
|
inlineprotectedvirtual |
Adds triangle element.
| [in] | theMesh | triangulation to be modified |
| theIndex | triangle index starting from 1 | |
| theTriangle | triangle nodes starting from 1 |
|
inline |
Starts and reset internal object that accumulates nodes/triangles statistic during data reading.
|
inline |
Stops and nullify internal object that accumulates nodes/triangles statistic during data reading.
|
inline |
Returns TRUE if additional debug information should be print.
|
inline |
Returns TRUE if degenerated triangles should be skipped during mesh loading (only indexes will be checked).
|
protected |
coordinate system converter
|
protected |
file name to use during message printing
|
protected |
flag to fill in triangulation using single or double precision
|
mutableprotected |
statistic of loaded triangulation
|
mutableprotected |
internal mutex to collect nodes/triangles statistic
|
protected |
flag to print additional debug information
|
protected |
flag to skip degenerate triangles during loading, FALSE by default