Open CASCADE Technology
7.4.0
|
Buffer of vertex attributes. More...
#include <Graphic3d_Buffer.hxx>
Public Member Functions | |
Graphic3d_Buffer (const Handle< NCollection_BaseAllocator > &theAlloc) | |
Empty constructor. More... | |
Standard_Integer | NbMaxElements () const |
Return number of initially allocated elements which can fit into this buffer, while NbElements can be overwritten to smaller value. More... | |
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. More... | |
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. More... | |
Standard_Byte * | changeValue (const Standard_Integer theElem) |
Access specified element. More... | |
template<typename Type_t > | |
const Type_t & | Value (const Standard_Integer theElem) const |
Access element with specified position and type. More... | |
template<typename Type_t > | |
Type_t & | ChangeValue (const Standard_Integer theElem) |
Access element with specified position and type. More... | |
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. More... | |
~NCollection_Buffer () | |
Destructor. More... | |
const Standard_Byte * | Data () const |
Standard_Byte * | ChangeData () |
bool | IsEmpty () const |
Standard_Size | Size () const |
Return buffer length in bytes. More... | |
const Handle< NCollection_BaseAllocator > & | Allocator () const |
void | SetAllocator (const Handle< NCollection_BaseAllocator > &theAlloc) |
Assign new buffer allocator with de-allocation of buffer. More... | |
bool | Allocate (const Standard_Size theSize) |
Allocate the buffer. More... | |
void | Free () |
De-allocate buffer. 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... | |
general accessors | |
Standard_Integer | Stride |
the distance to the attributes of the next vertex within interleaved array More... | |
Standard_Integer | NbElements |
number of the elements ( More... | |
Standard_Integer | NbAttributes |
number of vertex attributes More... | |
Standard_Byte * | ChangeAttributeData (Graphic3d_TypeOfAttribute theAttrib, Standard_Integer &theAttribIndex, Standard_Size &theAttribStride) |
Return the attribute data with stride size specific to this attribute. More... | |
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. More... | |
void | release () |
Release buffer. More... | |
bool | Init (const Standard_Integer theNbElems, const Graphic3d_Attribute *theAttribs, const Standard_Integer theNbAttribs) |
Allocates new empty array. More... | |
bool | Init (const Standard_Integer theNbElems, const Graphic3d_Array1OfAttribute &theAttribs) |
Allocates new empty array. More... | |
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). More... | |
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). More... | |
virtual Graphic3d_BufferRange | InvalidatedRange () const |
Return invalidated range; EMPTY by default. Requires sub-classing for creating a mutable buffer (advanced usage). More... | |
virtual void | Validate () |
Reset invalidated range. Requires sub-classing for creating a mutable buffer (advanced usage). More... | |
virtual void | Invalidate () |
Invalidate entire buffer. 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 NCollection_Buffer | |
Standard_Byte * | myData |
data pointer More... | |
Standard_Size | mySize |
buffer length in bytes More... | |
Handle< NCollection_BaseAllocator > | myAllocator |
buffer allocator More... | |
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 |
Access specified element.
|
inline |
Access element with specified position and type.
|
inline |
|
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 specified element.
|
inline |
Access element with specified position and type.
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