Open CASCADE Technology  7.4.0
Public Member Functions | Protected Member Functions
RWGltf_TriangulationReader Class Reference

RWGltf_PrimitiveArrayReader implementation creating Poly_Triangulation. More...

#include <RWGltf_TriangulationReader.hxx>

Inheritance diagram for RWGltf_TriangulationReader:
Inheritance graph
[legend]

Public Member Functions

 RWGltf_TriangulationReader ()
 Empty constructor. More...
 
- Public Member Functions inherited from RWGltf_PrimitiveArrayReader
 RWGltf_PrimitiveArrayReader ()
 Constructor. More...
 
const TCollection_AsciiStringErrorPrefix () const
 Return prefix for reporting issues. More...
 
void SetErrorPrefix (const TCollection_AsciiString &theErrPrefix)
 Set prefix for reporting issues. More...
 
const RWMesh_CoordinateSystemConverterCoordinateSystemConverter () const
 Return transformation from glTF to OCCT coordinate system. More...
 
void SetCoordinateSystemConverter (const RWMesh_CoordinateSystemConverter &theConverter)
 Set transformation from glTF to OCCT coordinate system. More...
 
Handle< Poly_TriangulationLoad (const Handle< RWGltf_GltfLatePrimitiveArray > &theMesh)
 Load 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_Transientoperator= (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_TransientThis () 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 Handle< Poly_Triangulationresult () override
 Create Poly_Triangulation from collected data. More...
 
virtual void reset () override
 Reset cache before loading primitive array. More...
 
virtual bool readBuffer (std::istream &theStream, const TCollection_AsciiString &theName, const RWGltf_GltfAccessor &theAccessor, RWGltf_GltfArrayType theType, RWGltf_GltfPrimitiveMode theMode) override
 Fill triangulation data and ignore non-triangulation primitives. More...
 
- Protected Member Functions inherited from RWGltf_PrimitiveArrayReader
virtual bool load (const Handle< RWGltf_GltfLatePrimitiveArray > &theMesh)
 Load primitive array. More...
 
virtual void reportError (const TCollection_AsciiString &theText)
 Report error. More...
 

interface for filling triangulation data

Handle< Poly_TriangulationmyTriangulation
 Resize array of position nodes to specified size. More...
 
virtual bool setNbPositionNodes (Standard_Integer theNbNodes)
 Resize array of position nodes to specified size. More...
 
virtual void setNodePosition (Standard_Integer theIndex, const gp_Pnt &thePnt)
 Set node position. More...
 
virtual bool setNbUVNodes (Standard_Integer theNbNodes)
 Resize array of UV nodes to specified size. More...
 
virtual void setNodeUV (Standard_Integer theIndex, const gp_Pnt2d &theUV)
 Set node UV texture coordinates. More...
 
virtual bool setNbNormalNodes (Standard_Integer theNbNodes)
 Resize array of nodes normals to specified size. More...
 
virtual void setNodeNormal (Standard_Integer theIndex, const gp_Dir &theNormal)
 Set node normal. More...
 
virtual bool setNbTriangles (Standard_Integer theNbTris)
 Resize array of triangles to specified size. More...
 
virtual bool setTriangle (Standard_Integer theIndex, const Poly_Triangle &theTriangle)
 Add triangle element. 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...
 
- Protected Attributes inherited from RWGltf_PrimitiveArrayReader
TCollection_AsciiString myErrorPrefix
 
RWGltf_GltfSharedIStream mySharedStream
 
RWMesh_CoordinateSystemConverter myCoordSysConverter
 

Detailed Description

RWGltf_PrimitiveArrayReader implementation creating Poly_Triangulation.

Constructor & Destructor Documentation

◆ RWGltf_TriangulationReader()

RWGltf_TriangulationReader::RWGltf_TriangulationReader ( )

Empty constructor.

Member Function Documentation

◆ readBuffer()

virtual bool RWGltf_TriangulationReader::readBuffer ( std::istream &  theStream,
const TCollection_AsciiString theName,
const RWGltf_GltfAccessor theAccessor,
RWGltf_GltfArrayType  theType,
RWGltf_GltfPrimitiveMode  theMode 
)
overrideprotectedvirtual

Fill triangulation data and ignore non-triangulation primitives.

Parameters
theStreaminput stream to read from
theNameentity name for logging errors
theAccessorbuffer accessor
theTypearray type
theModeprimitive mode
Returns
FALSE on error

Implements RWGltf_PrimitiveArrayReader.

◆ reset()

virtual void RWGltf_TriangulationReader::reset ( )
overrideprotectedvirtual

Reset cache before loading primitive array.

Implements RWGltf_PrimitiveArrayReader.

◆ result()

virtual Handle< Poly_Triangulation > RWGltf_TriangulationReader::result ( )
overrideprotectedvirtual

Create Poly_Triangulation from collected data.

Implements RWGltf_PrimitiveArrayReader.

◆ setNbNormalNodes()

virtual bool RWGltf_TriangulationReader::setNbNormalNodes ( Standard_Integer  theNbNodes)
inlineprotectedvirtual

Resize array of nodes normals to specified size.

◆ setNbPositionNodes()

virtual bool RWGltf_TriangulationReader::setNbPositionNodes ( Standard_Integer  theNbNodes)
inlineprotectedvirtual

Resize array of position nodes to specified size.

◆ setNbTriangles()

virtual bool RWGltf_TriangulationReader::setNbTriangles ( Standard_Integer  theNbTris)
inlineprotectedvirtual

Resize array of triangles to specified size.

◆ setNbUVNodes()

virtual bool RWGltf_TriangulationReader::setNbUVNodes ( Standard_Integer  theNbNodes)
inlineprotectedvirtual

Resize array of UV nodes to specified size.

◆ setNodeNormal()

virtual void RWGltf_TriangulationReader::setNodeNormal ( Standard_Integer  theIndex,
const gp_Dir theNormal 
)
inlineprotectedvirtual

Set node normal.

Parameters
theIndexnode index starting from 1
theNormalnode normal

◆ setNodePosition()

virtual void RWGltf_TriangulationReader::setNodePosition ( Standard_Integer  theIndex,
const gp_Pnt thePnt 
)
inlineprotectedvirtual

Set node position.

Parameters
theIndexnode index starting from 1
thePntnode position

◆ setNodeUV()

virtual void RWGltf_TriangulationReader::setNodeUV ( Standard_Integer  theIndex,
const gp_Pnt2d theUV 
)
inlineprotectedvirtual

Set node UV texture coordinates.

Parameters
theIndexnode index starting from 1
theUVnode UV coordinates

◆ setTriangle()

virtual bool RWGltf_TriangulationReader::setTriangle ( Standard_Integer  theIndex,
const Poly_Triangle theTriangle 
)
inlineprotectedvirtual

Add triangle element.

Parameters
theIndextriangle index starting from 1
theTriangletriangle nodes starting from 1
Returns
FALSE if node indexes are out of range

Field Documentation

◆ myTriangulation

Handle< Poly_Triangulation > RWGltf_TriangulationReader::myTriangulation
protected

Resize array of position nodes to specified size.


The documentation for this class was generated from the following file: