Open CASCADE Technology
7.6.0
|
RWMesh_TriangulationReader implementation creating Poly_Triangulation. More...
#include <RWGltf_TriangulationReader.hxx>
Public Member Functions | |
RWGltf_TriangulationReader () | |
Empty constructor. More... | |
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). More... | |
Public Member Functions inherited from RWMesh_TriangulationReader | |
RWMesh_TriangulationReader () | |
Constructor. More... | |
virtual | ~RWMesh_TriangulationReader () |
Destructor. More... | |
const TCollection_AsciiString & | FileName () const |
Returns file name for reporting issues. More... | |
void | SetFileName (const TCollection_AsciiString &theFileName) |
Sets file name for reporting issues. More... | |
const RWMesh_CoordinateSystemConverter & | CoordinateSystemConverter () const |
Returns coordinate system converter using for correct data loading. More... | |
void | SetCoordinateSystemConverter (const RWMesh_CoordinateSystemConverter &theConverter) |
Sets coordinate system converter. More... | |
bool | IsDoublePrecision () const |
Returns flag to fill in triangulation using double or single precision; FALSE by default. More... | |
void | SetDoublePrecision (bool theIsDouble) |
Sets flag to fill in triangulation using double or single precision. More... | |
Standard_Boolean | ToSkipDegenerates () const |
Returns TRUE if degenerated triangles should be skipped during mesh loading (only indexes will be checked). More... | |
void | SetToSkipDegenerates (const Standard_Boolean theToSkip) |
Sets flag to skip degenerated triangles during mesh loading (only indexes will be checked). More... | |
Standard_Boolean | ToPrintDebugMessages () const |
Returns TRUE if additional debug information should be print. More... | |
void | SetToPrintDebugMessages (const Standard_Boolean theToPrint) |
Sets flag to print debug information. More... | |
void | StartStatistic () |
Starts and reset internal object that accumulates nodes/triangles statistic during data reading. More... | |
void | StopStatistic () |
Stops and nullify internal object that accumulates nodes/triangles statistic during data reading. More... | |
void | PrintStatistic () const |
Prints loading statistic. This method should be used between StartStatistic() and StopStatistic() calls for correct results. More... | |
bool | Load (const Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh, const Handle< OSD_FileSystem > &theFileSystem) const |
Loads primitive array. 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 void | reportError (const TCollection_AsciiString &theText) const |
Reports error. More... | |
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. More... | |
virtual bool | finalizeLoading (const Handle< RWMesh_TriangulationSource > &theSourceMesh, const Handle< Poly_Triangulation > &theDestMesh) const override |
Performs additional actions to finalize data loading. More... | |
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). More... | |
bool | readStreamData (const Handle< RWGltf_GltfLatePrimitiveArray > &theSourceGltfMesh, const RWGltf_GltfPrimArrayData &theGltfData, const Handle< Poly_Triangulation > &theDestMesh) const |
Reads primitive array from stream data. More... | |
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. More... | |
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. More... | |
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. More... | |
Protected Member Functions inherited from RWMesh_TriangulationReader | |
virtual bool | setNbPositionNodes (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbNodes, Standard_Boolean theToCopyData=false) const |
Resizes array of position nodes to specified size. More... | |
virtual void | setNodePosition (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const gp_Pnt &thePnt) const |
Sets node position. More... | |
virtual bool | setNbUVNodes (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbNodes) const |
Resizes array of UV nodes to specified size. More... | |
virtual void | setNodeUV (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const gp_Pnt2d &theUV) const |
Sets node UV texture coordinates. More... | |
virtual bool | setNbNormalNodes (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbNodes) const |
Resizes array of nodes normals to specified size. More... | |
virtual void | setNodeNormal (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const gp_Vec3f &theNormal) const |
Sets node normal. More... | |
virtual bool | setNbTriangles (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theNbTris, Standard_Boolean theToCopyData=false) const |
Resizes array of triangles to specified size. More... | |
virtual Standard_Integer | setTriangle (const Handle< Poly_Triangulation > &theMesh, Standard_Integer theIndex, const Poly_Triangle &theTriangle) const |
Adds triangle element. More... | |
Protected Attributes | |
Handle< Poly_Triangulation > | myTriangulation |
Protected Attributes inherited from RWMesh_TriangulationReader | |
RWMesh_CoordinateSystemConverter | myCoordSysConverter |
coordinate system converter More... | |
TCollection_AsciiString | myFileName |
file name to use during message printing More... | |
Standard_Mutex | myMutex |
internal mutex to collect nodes/triangles statistic More... | |
LoadingStatistic * | myLoadingStatistic |
statistic of loaded triangulation More... | |
Standard_Boolean | myIsDoublePrecision |
flag to fill in triangulation using single or double precision More... | |
Standard_Boolean | myToSkipDegenerateTris |
flag to skip degenerate triangles during loading, FALSE by default More... | |
Standard_Boolean | myToPrintDebugMessages |
flag to print additional debug information 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... | |
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 |