| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
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 Public Member Functions inherited from Standard_Transient | |
| 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.   | |
| const Standard_Byte * | Data () const | 
| Standard_Byte * | ChangeData () | 
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| 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 specified element.
      
  | 
  inline | 
Access element with specified position and type.
      
  | 
  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 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