Open CASCADE Technology
7.2.0
|
Class for rendering of arbitrary primitive array. More...
#include <OpenGl_PrimitiveArray.hxx>
Public Types | |
enum | { DRAW_MODE_NONE = -1 } |
Public Member Functions | |
OpenGl_PrimitiveArray (const OpenGl_GraphicDriver *theDriver) | |
Empty constructor. More... | |
OpenGl_PrimitiveArray (const OpenGl_GraphicDriver *theDriver, const Graphic3d_TypeOfPrimitiveArray theType, const Handle< Graphic3d_IndexBuffer > &theIndices, const Handle< Graphic3d_Buffer > &theAttribs, const Handle< Graphic3d_BoundBuffer > &theBounds) | |
Default constructor. More... | |
virtual | ~OpenGl_PrimitiveArray () |
Destructor. More... | |
virtual void | Render (const Handle< OpenGl_Workspace > &theWorkspace) const |
Render primitives to the window. More... | |
virtual void | Release (OpenGl_Context *theContext) |
Release OpenGL resources (VBOs) More... | |
Standard_Boolean | IsInitialized () const |
Return true if VBOs initialization has been performed. VBO initialization is performed during first Render() call. Notice that this flag does not indicate VBOs validity. More... | |
void | Invalidate () const |
Invalidate VBO content without destruction. More... | |
GLint | DrawMode () const |
const Handle< Graphic3d_IndexBuffer > & | Indices () const |
const Handle< Graphic3d_Buffer > & | Attributes () const |
const Handle< Graphic3d_BoundBuffer > & | Bounds () const |
Standard_Size | GetUID () const |
Returns unique ID of primitive array. More... | |
void | InitBuffers (const Handle< OpenGl_Context > &theContext, const Graphic3d_TypeOfPrimitiveArray theType, const Handle< Graphic3d_IndexBuffer > &theIndices, const Handle< Graphic3d_Buffer > &theAttribs, const Handle< Graphic3d_BoundBuffer > &theBounds) |
Initialize indices, attributes and bounds with new data. More... | |
Public Member Functions inherited from OpenGl_Element | |
OpenGl_Element () | |
Standard_Boolean | RenderFiltered (const Handle< OpenGl_Workspace > &theWorkspace, const Handle< OpenGl_RenderFilter > &theFilter) const |
Render element if it passes the filtering procedure. This method should be used for elements which can be used in scope of rendering algorithms. E.g. elements of groups during recursive rendering. If render filter is null, pure rendering is performed. More... | |
Static Public Attributes | |
static const GLint | THE_FILLPRIM_FROM = GL_TRIANGLES |
static const GLint | THE_FILLPRIM_TO = GL_POLYGON |
Protected Member Functions | |
Standard_Boolean | buildVBO (const Handle< OpenGl_Context > &theCtx, const Standard_Boolean theToKeepData) const |
VBO initialization procedures. More... | |
void | clearMemoryGL (const Handle< OpenGl_Context > &theGlCtx) const |
Protected Member Functions inherited from OpenGl_Element | |
virtual | ~OpenGl_Element () |
Protected Attributes | |
Handle< OpenGl_VertexBuffer > | myVboIndices |
Handle< OpenGl_VertexBuffer > | myVboAttribs |
Handle< Graphic3d_IndexBuffer > | myIndices |
Handle< Graphic3d_Buffer > | myAttribs |
Handle< Graphic3d_BoundBuffer > | myBounds |
GLint | myDrawMode |
Standard_Boolean | myIsVboInit |
Standard_Size | myUID |
Unique ID of primitive array. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from OpenGl_Element | |
template<typename theResource_t > | |
static void | Destroy (OpenGl_Context *theContext, theResource_t *&theElement) |
Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe. More... | |
Class for rendering of arbitrary primitive array.
OpenGl_PrimitiveArray::OpenGl_PrimitiveArray | ( | const OpenGl_GraphicDriver * | theDriver | ) |
Empty constructor.
OpenGl_PrimitiveArray::OpenGl_PrimitiveArray | ( | const OpenGl_GraphicDriver * | theDriver, |
const Graphic3d_TypeOfPrimitiveArray | theType, | ||
const Handle< Graphic3d_IndexBuffer > & | theIndices, | ||
const Handle< Graphic3d_Buffer > & | theAttribs, | ||
const Handle< Graphic3d_BoundBuffer > & | theBounds | ||
) |
Default constructor.
|
virtual |
Destructor.
|
inline |
|
inline |
|
protected |
VBO initialization procedures.
theCtx | bound GL context |
theToKeepData | when true, myAttribs will not be nullified after VBO creation |
|
protected |
|
inline |
|
inline |
Returns unique ID of primitive array.
|
inline |
void OpenGl_PrimitiveArray::InitBuffers | ( | const Handle< OpenGl_Context > & | theContext, |
const Graphic3d_TypeOfPrimitiveArray | theType, | ||
const Handle< Graphic3d_IndexBuffer > & | theIndices, | ||
const Handle< Graphic3d_Buffer > & | theAttribs, | ||
const Handle< Graphic3d_BoundBuffer > & | theBounds | ||
) |
Initialize indices, attributes and bounds with new data.
|
inline |
Invalidate VBO content without destruction.
|
inline |
Return true if VBOs initialization has been performed. VBO initialization is performed during first Render() call. Notice that this flag does not indicate VBOs validity.
|
virtual |
Release OpenGL resources (VBOs)
Implements OpenGl_Element.
|
virtual |
Render primitives to the window.
Implements OpenGl_Element.
Reimplemented in OpenGl_BackgroundArray.
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
Unique ID of primitive array.
|
mutableprotected |
|
mutableprotected |
|
static |
|
static |