RWMesh_TriangulationReader implementation creating Poly_Triangulation. More...
#include <RWGltf_TriangulationReader.hxx>

Public Member Functions | |
| RWGltf_TriangulationReader () | |
| Empty constructor. | |
| bool | LoadStreamData (const Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh) const |
| Loads only primitive arrays saved as stream buffer (it is primarily glTF data encoded in base64 saved to temporary buffer during glTF file reading). | |
Public Member Functions inherited from RWMesh_TriangulationReader | |
| RWMesh_TriangulationReader () | |
| Constructor. | |
| virtual | ~RWMesh_TriangulationReader () |
| 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. | |
| Standard_Boolean | ToSkipDegenerates () const |
| Returns TRUE if degenerated triangles should be skipped during mesh loading (only indexes will be checked). | |
| void | SetToSkipDegenerates (const Standard_Boolean theToSkip) |
| Sets flag to skip degenerated triangles during mesh loading (only indexes will be checked). | |
| Standard_Boolean | ToPrintDebugMessages () const |
| Returns TRUE if additional debug information should be print. | |
| void | SetToPrintDebugMessages (const Standard_Boolean 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 Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh, const 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 () |
| 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 void | reportError (const TCollection_AsciiString &theText) const |
| Reports error. | |
| virtual bool | load (const Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh, const Handle< OSD_FileSystem > &theFileSystem) const override |
| Loads only primitive arrays from file data. | |
| virtual bool | finalizeLoading (const Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh) const override |
| Performs additional actions to finalize data loading. | |
| bool | loadStreamData (const Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh, bool theToResetStream=true) const |
| Loads only primitive arrays saved as stream buffer (it is primarily glTF data encoded in base64 saved to temporary buffer during glTF file reading). | |
| bool | readStreamData (const Handle< RWGltf_GltfLatePrimitiveArray > &theSourceGltfMesh, const RWGltf_GltfPrimArrayData &theGltfData, const Handle< Poly_Triangulation > &theDestMesh) const |
| Reads primitive array from stream data. | |
| bool | readFileData (const Handle< RWGltf_GltfLatePrimitiveArray > &theSourceGltfMesh, const RWGltf_GltfPrimArrayData &theGltfData, const Handle< Poly_Triangulation > &theDestMesh, const Handle< OSD_FileSystem > &theFileSystem) const |
| Reads primitive array from file data. | |
| virtual bool | readBuffer (const Handle< RWGltf_GltfLatePrimitiveArray > &theSourceGltfMesh, const Handle< Poly_Triangulation > &theDestMesh, std::istream &theStream, const RWGltf_GltfAccessor &theAccessor, RWGltf_GltfArrayType theType) const |
| Fills triangulation data and ignore non-triangulation primitives. | |
| virtual bool | readDracoBuffer (const Handle< RWGltf_GltfLatePrimitiveArray > &theSourceGltfMesh, const RWGltf_GltfPrimArrayData &theGltfData, const Handle< Poly_Triangulation > &theDestMesh, const Handle< OSD_FileSystem > &theFileSystem) const |
| Reads primitive array from file data compressed in Draco format. | |
| virtual bool | setNbPositionNodes (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbNodes, Standard_Boolean theToCopyData=false) const |
| coordinate system converter | |
| virtual void | setNodePosition (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const gp_Pnt &thePnt) const |
| Sets node position. | |
| virtual bool | setNbUVNodes (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbNodes) const |
| Resizes array of UV nodes to specified size. | |
| virtual void | setNodeUV (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const gp_Pnt2d &theUV) const |
| Sets node UV texture coordinates. | |
| virtual bool | setNbNormalNodes (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbNodes) const |
| Resizes array of nodes normals to specified size. | |
| virtual void | setNodeNormal (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const gp_Vec3f &theNormal) const |
| Sets node normal. | |
| virtual bool | setNbTriangles (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbTris, Standard_Boolean theToCopyData=false) const |
| Resizes array of triangles to specified size. | |
| virtual Standard_Integer | setTriangle (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const Poly_Triangle &theTriangle) const |
| Adds triangle element. | |
| virtual bool | setNbEdges (const Handle< Poly_Triangulation > &theMesh, const Standard_Integer theNbEdges, const Standard_Boolean theToCopyData=false) const |
| Resizes array of edges to specified size. | |
| virtual Standard_Integer | setEdge (const Handle< Poly_Triangulation > &theMesh, const Standard_Integer theIndex, const Standard_Integer theEdge) const |
| Adds edge element. | |
Protected Attributes | |
| Handle< RWMesh_TriangulationSource > | myTriangulation |
| RWMesh_CoordinateSystemConverter | myCoordSysConverter |
| coordinate system converter | |
| TCollection_AsciiString | myFileName |
| file name to use during message printing | |
| Standard_Mutex | myMutex |
| internal mutex to collect nodes/triangles statistic | |
| LoadingStatistic * | myLoadingStatistic |
| statistic of loaded triangulation | |
| Standard_Boolean | myIsDoublePrecision |
| flag to fill in triangulation using single or double precision | |
| Standard_Boolean | myToSkipDegenerateTris |
| flag to skip degenerate triangles during loading, FALSE by default | |
| Standard_Boolean | myToPrintDebugMessages |
| flag to print additional debug information | |
Additional Inherited Members | |
| typedef void | base_type |
| Returns a type descriptor about this object. | |
| 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. | |
RWMesh_TriangulationReader implementation creating Poly_Triangulation.
| RWGltf_TriangulationReader::RWGltf_TriangulationReader | ( | ) |
Empty constructor.
|
overrideprotectedvirtual |
Performs additional actions to finalize data loading.
| theSourceMesh | source triangulation |
| theDestMesh | triangulation to be modified |
Reimplemented from RWMesh_TriangulationReader.
|
overrideprotectedvirtual |
Loads only primitive arrays from file data.
| theSourceMesh | source triangulation |
| theDestMesh | triangulation to be modified |
| theFileSystem | shared file system to read from Note: this method skips "stream data" that should be loaded by LoadStreamData() call. |
Implements RWMesh_TriangulationReader.
| bool RWGltf_TriangulationReader::LoadStreamData | ( | const Handle< RWMesh_TriangulationSource > & | theSourceMesh, |
| const Handle< Poly_Triangulation > & | theDestMesh ) const |
Loads only primitive arrays saved as stream buffer (it is primarily glTF data encoded in base64 saved to temporary buffer during glTF file reading).
|
protected |
Loads only primitive arrays saved as stream buffer (it is primarily glTF data encoded in base64 saved to temporary buffer during glTF file reading).
| theSourceMesh | source triangulation |
| theDestMesh | triangulation to be modified |
| theToResetStream | if TRUE reset input stream data buffer after its loading. |
|
protectedvirtual |
Fills triangulation data and ignore non-triangulation primitives.
| theSourceGltfMesh | source glTF triangulation |
| theDestMesh | triangulation to be modified |
| theStream | input stream to read from |
| theAccessor | buffer accessor |
| theType | array type |
|
protectedvirtual |
Reads primitive array from file data compressed in Draco format.
| theSourceGltfMesh | source glTF triangulation |
| theGltfData | primitive array element (Uri of file stream should not be empty) |
| theDestMesh | triangulation to be modified |
| theFileSystem | shared file system to read from |
|
protected |
Reads primitive array from file data.
| theSourceGltfMesh | source glTF triangulation |
| theGltfData | primitive array element (Uri of file stream should not be empty) |
| theDestMesh | triangulation to be modified |
| theFileSystem | shared file system to read from |
|
protected |
Reads primitive array from stream data.
| theSourceGltfMesh | source glTF triangulation |
| theGltfData | primitive array element (stream data should not be NULL) |
| theDestMesh | triangulation to be modified |
|
protectedvirtual |
Reports error.
|
protected |