\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.13.2 - Three
CGAL::Three::Point_container Struct Reference

#include <CGAL/Three/Point_container.h>

Inherits from

CGAL::Three::Primitive_container.

Definition

The Point_container struct wraps the OpenGL data for drawing lines.

Public Types

enum  vbosName { Vertices = 0, Indices, Colors, NbOfVbos }
 The vbosName enum. More...
 

Public Member Functions

 Point_container (int program, bool indexed)
 The constructor. More...
 
void initGL (Viewer_interface *viewer) Q_DECL_OVERRIDE
 initGL creates the Vbos and Vaos of this Point_container. More...
 
void draw (CGAL::Three::Viewer_interface *viewer, bool is_color_uniform) Q_DECL_OVERRIDE
 draw is the function that actually renders the data. More...
 
- Public Member Functions inherited from CGAL::Three::Primitive_container
 Primitive_container (int program, bool indexed)
 Primitive_container ructor. More...
 
void bindUniformValues (CGAL::Three::Viewer_interface *viewer)
 bindUniformValues sets the uniform variables for the concerned shaders. More...
 
virtual void initializeBuffers (CGAL::Three::Viewer_interface *viewer)
 initializeBuffers sends the data to the GPU memory. More...
 
void removeViewer (CGAL::Three::Viewer_interface *viewer)
 removeViewer deletes and removes the Vao assigned to viewer from Vaos. More...
 
void reset_vbos (Scene_item_rendering_helper::Gl_data_names)
 reset_vbos de-allocates the Vbos. More...
 
void setFlatDataSize (std::size_t)
 setFlatDataSize sets the number of un-indexed vertices of this container. More...
 
void setIdxSize (std::size_t)
 setIdxDataSize sets the number of indexed vertices of this container. More...
 
void setCenterSize (std::size_t)
 setCenterSize sets the number of instances of the item in this container. More...
 
bool isGLInit (Viewer_interface *viewer) const
 Returns true if the container Vaos and Vbos are created in the context of viewer. More...
 
void allocate (std::size_t vbo_id, void *data, int datasize)
 allocate sets the data for a Vbo. More...
 
void setSelected (bool)
 Setter for the "selected" uniform parameter.
 
void setColor (QColor)
 Setter for the "color" parameter.
 

Getters and Setters for the shaders parameters.

Each of those depends of the OpenGL_program_IDs this container is using.

If the shaders of this program doesn't need one, you can ignore it. The others should be filled at each draw() from the item.

QVector4D getPlane () const
 getter for the "plane" parameter
 
QMatrix4x4 getFrameMatrix () const
 getter for the "f_matrix" parameter
 
void setFrameMatrix (const QMatrix4x4 &)
 setter for the "f_matrix" parameter
 

Additional Inherited Members

- Protected Member Functions inherited from CGAL::Three::Primitive_container
void setVao (Viewer_interface *viewer, Vao *)
 setVao sets the Vao corresponding to viewer of this container.
 
void setVbos (std::vector< Vbo *>)
 setVbos sets the vector of Vbos for this container. More...
 
void setVbo (std::size_t vbo_id, Vbo *vbo)
 setVbo sets the vbo_idth Vbo of this container to vbo. More...
 
void setGLInit (Viewer_interface *viewer, bool)
 Use this to specify if the container Vaos and Vbos are created in the context of viewer.
 
VaogetVao (Viewer_interface *viewer) const
 Returns the Vao bound to viewer.
 
VbogetVbo (std::size_t id) const
 getVbo returns the idth Vbo of this container.
 
int getProgram () const
 getProgram returns the OpenGL_program_IDs used with this container.
 
bool isDataIndexed ()
 isDataIndexed specifies if the data is indexed or not. More...
 
void setInit (Viewer_interface *viewer, bool)
 Use this to specify if the container Vbos are filled for viewer.
 
bool isInit (Viewer_interface *viewer) const
 isInit returns true if the container Vbos are filled for viewer. More...
 
std::size_t getFlatDataSize () const
 getFlatDataSize returns the number of un-indexed vertices. More...
 
std::size_t getIdxSize () const
 getIdxSize returns the number of indexed vertices. More...
 
std::size_t getCenterSize () const
 getCenterSize returns the number of instances of the item in this container. More...
 
bool isSelected () const
 getter for the "selected" parameter
 
QColor getColor () const
 getter for the "color" parameter
 

Member Enumeration Documentation

◆ vbosName

The vbosName enum.

Holds the Vbo Ids of this container.

Enumerator
Vertices 

Designates the buffer that contains the vertex coordinates.

Indices 

Designates the buffer that contains the vertex indices.

Colors 

Designates the buffer that contains the color components.

NbOfVbos 

Designates the size of the VBOs vector for Point_containers.

Constructor & Destructor Documentation

◆ Point_container()

CGAL::Three::Point_container::Point_container ( int  program,
bool  indexed 
)

The constructor.

Parameters
programis the QOpenGLShaderProgram that is used by this Point_container Vao.
indexedmust be true if the data is indexed, false otherwise. If true, VBOs[Indices] must be filled.

Member Function Documentation

◆ draw()

void CGAL::Three::Point_container::draw ( CGAL::Three::Viewer_interface viewer,
bool  is_color_uniform 
)
virtual

draw is the function that actually renders the data.

Parameters
viewerthe active Viewer_interface.
is_color_uniformmust be false if VBOs[Colors] is not empty, true otherwise.

Implements CGAL::Three::Primitive_container.

◆ initGL()

void CGAL::Three::Point_container::initGL ( Viewer_interface viewer)
virtual

initGL creates the Vbos and Vaos of this Point_container.

Attention
It must be called within a valid OpenGL context. The draw() function of an item is always a safe place to call this.
Parameters
viewerthe active Viewer_interface.

Implements CGAL::Three::Primitive_container.