Buffer of vertex attributes. More...
#include <Graphic3d_Buffer.hxx>

Public Member Functions | |
| Graphic3d_Buffer (const Handle< NCollection_BaseAllocator > &theAlloc) | |
| Empty constructor. | |
| Standard_Integer | NbMaxElements () const |
| Return number of initially allocated elements which can fit into this buffer, while NbElements can be overwritten to smaller value. | |
| const Graphic3d_Attribute * | AttributesArray () const |
| const Graphic3d_Attribute & | Attribute (const Standard_Integer theAttribIndex) const |
| Graphic3d_Attribute & | ChangeAttribute (const Standard_Integer theAttribIndex) |
| Standard_Integer | FindAttribute (Graphic3d_TypeOfAttribute theAttrib) const |
| Find attribute index. | |
data accessors for interleaved array | |
| Standard_Integer | AttributeOffset (const Standard_Integer theAttribIndex) const |
| const Standard_Byte * | Data (const Standard_Integer theAttribIndex) const |
| Standard_Byte * | ChangeData (const Standard_Integer theAttribIndex) |
| const Standard_Byte * | value (const Standard_Integer theElem) const |
| Access specified element. | |
| Standard_Byte * | changeValue (const Standard_Integer theElem) |
| Access specified element. | |
| template<typename Type_t> | |
| const Type_t & | Value (const Standard_Integer theElem) const |
| Access element with specified position and type. | |
| template<typename Type_t> | |
| Type_t & | ChangeValue (const Standard_Integer theElem) |
| Access element with specified position and type. | |
Public Member Functions inherited from NCollection_Buffer | |
| NCollection_Buffer (const Handle< NCollection_BaseAllocator > &theAlloc, const Standard_Size theSize=0, Standard_Byte *theData=NULL) | |
| Default constructor. When theData is NULL but theSize is not 0 than buffer of specified size will be allocated. | |
| ~NCollection_Buffer () | |
| Destructor. | |
| const Standard_Byte * | Data () const |
| Standard_Byte * | ChangeData () |
| bool | IsEmpty () const |
| Standard_Size | Size () const |
| Return buffer length in bytes. | |
| const Handle< NCollection_BaseAllocator > & | Allocator () const |
| void | SetAllocator (const Handle< NCollection_BaseAllocator > &theAlloc) |
| Assign new buffer allocator with de-allocation of buffer. | |
| bool | Allocate (const Standard_Size theSize) |
| Allocate the buffer. | |
| void | Free () |
| De-allocate buffer. | |
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. | |
Static Public Member Functions | |
| static const Handle< NCollection_BaseAllocator > & | DefaultAllocator () |
| Return default vertex data allocator. | |
| 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. | |
general accessors | |
| Standard_Integer | Stride |
| the distance to the attributes of the next vertex within interleaved array | |
| Standard_Integer | NbElements |
| number of the elements ( | |
| Standard_Integer | NbAttributes |
| number of vertex attributes | |
| Standard_Byte * | ChangeAttributeData (Graphic3d_TypeOfAttribute theAttrib, Standard_Integer &theAttribIndex, Standard_Size &theAttribStride) |
| Return the attribute data with stride size specific to this attribute. | |
| const Standard_Byte * | AttributeData (Graphic3d_TypeOfAttribute theAttrib, Standard_Integer &theAttribIndex, Standard_Size &theAttribStride) const |
| Return the attribute data with stride size specific to this attribute. | |
| void | release () |
| Release buffer. | |
| bool | Init (const Standard_Integer theNbElems, const Graphic3d_Attribute *theAttribs, const Standard_Integer theNbAttribs) |
| Allocates new empty array. | |
| bool | Init (const Standard_Integer theNbElems, const Graphic3d_Array1OfAttribute &theAttribs) |
| Allocates new empty array. | |
| virtual Standard_Boolean | IsInterleaved () const |
| Flag indicating that attributes in the buffer are interleaved; TRUE by default. Requires sub-classing for creating a non-interleaved buffer (advanced usage). | |
| virtual Standard_Boolean | IsMutable () const |
| Return TRUE if data can be invalidated; FALSE by default. Requires sub-classing for creating a mutable buffer (advanced usage). | |
| virtual Graphic3d_BufferRange | InvalidatedRange () const |
| Return invalidated range; EMPTY by default. Requires sub-classing for creating a mutable buffer (advanced usage). | |
| virtual void | Validate () |
| Reset invalidated range. Requires sub-classing for creating a mutable buffer (advanced usage). | |
| virtual void | Invalidate () |
| Invalidate entire buffer. | |
| virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const override |
| Dumps the content of me into the stream. | |
| Standard_Byte * | ChangeData () |
| const Standard_Byte * | Data () const |
Additional Inherited Members | |
| typedef void | base_type |
| Returns a type descriptor about this object. | |
Protected Attributes inherited from NCollection_Buffer | |
| Standard_Byte * | myData |
| data pointer | |
| Standard_Size | mySize |
| buffer length in bytes | |
| Handle< NCollection_BaseAllocator > | myAllocator |
| buffer allocator | |
Buffer of vertex attributes.
|
inline |
Empty constructor.
|
inline |
|
inline |
Return the attribute data with stride size specific to this attribute.
| theAttrib | attribute to find |
| theAttribIndex | index of found attribute |
| theAttribStride | stride in bytes between values of this attribute within returned data pointer |
|
inline |
|
inline |
|
inline |
|
inline |
Return the attribute data with stride size specific to this attribute.
| theAttrib | attribute to find |
| theAttribIndex | index of found attribute |
| theAttribStride | stride in bytes between values of this attribute within returned data pointer |
|
inline |
|
inline |
|
inline |
Access element with specified position and type.
|
inline |
Access specified element.
|
inline |
|
inline |
|
static |
Return default vertex data allocator.
|
overridevirtual |
Dumps the content of me into the stream.
Reimplemented from NCollection_Buffer.
Reimplemented in Graphic3d_IndexBuffer.
|
inline |
Find attribute index.
| theAttrib | attribute to find |
|
inline |
Allocates new empty array.
|
inline |
Allocates new empty array.
|
inlinevirtual |
Invalidate entire buffer.
Reimplemented in Graphic3d_AttribBuffer, and Graphic3d_MutableIndexBuffer.
|
inlinevirtual |
Return invalidated range; EMPTY by default. Requires sub-classing for creating a mutable buffer (advanced usage).
Reimplemented in Graphic3d_AttribBuffer, and Graphic3d_MutableIndexBuffer.
|
inlinevirtual |
Flag indicating that attributes in the buffer are interleaved; TRUE by default. Requires sub-classing for creating a non-interleaved buffer (advanced usage).
Reimplemented in Graphic3d_AttribBuffer.
|
inlinevirtual |
Return TRUE if data can be invalidated; FALSE by default. Requires sub-classing for creating a mutable buffer (advanced usage).
Reimplemented in Graphic3d_AttribBuffer, and Graphic3d_MutableIndexBuffer.
|
inline |
Return number of initially allocated elements which can fit into this buffer, while NbElements can be overwritten to smaller value.
|
inline |
Release buffer.
|
inlinevirtual |
Reset invalidated range. Requires sub-classing for creating a mutable buffer (advanced usage).
Reimplemented in Graphic3d_AttribBuffer, and Graphic3d_MutableIndexBuffer.
|
inline |
Access element with specified position and type.
|
inline |
Access specified element.
| Standard_Integer Graphic3d_Buffer::NbAttributes |
number of vertex attributes
| Standard_Integer Graphic3d_Buffer::NbElements |
number of the elements (
| Standard_Integer Graphic3d_Buffer::Stride |
the distance to the attributes of the next vertex within interleaved array