AnimEngine
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
OOOGL::VertexGeometry Class Reference
Inheritance diagram for OOOGL::VertexGeometry:
Inheritance graph
[legend]
Collaboration diagram for OOOGL::VertexGeometry:
Collaboration graph
[legend]

Public Member Functions

 VertexGeometry (const std::vector< glm::vec3 > &vertices, const std::vector< GLuint > elements, bool skip_gpu_upload=false, bool skip_measurement=false)
 
virtual void autoSetupForDraw ()
 
virtual void autoCleanupAfterDraw ()
 
virtual const glm::vec3 & getMinPoint ()
 
virtual const glm::vec3 & getMaxPoint ()
 
virtual void normalize ()
 
virtual void uploadToGpu ()
 
virtual GpuSyncStatus getSyncStatus () const
 
virtual const std::vector< glm::vec3 > & getVertices () const
 
virtual std::vector< glm::vec3 > & getMutableVertices ()
 
virtual void replaceVertices (const std::vector< glm::vec3 > &new_buffer)
 
virtual size_t numElementBuffers () const
 
virtual const std::vector< GLuint > & getElements (size_t index) const
 
virtual std::vector< GLuint > & getMutableElements (size_t index)
 
virtual void replaceElements (size_t index, const std::vector< GLuint > &new_buffer)
 
virtual void addElements (const std::vector< GLuint > &new_buffer, bool auto_add_element_array_buffer=true)
 
virtual ElementArrayBuffer getElementArrayBuffer (size_t index)
 
virtual void replaceElementArrayBuffer (size_t index, const ElementArrayBuffer &buffer)
 
- Public Member Functions inherited from OOOGL::ObjectTag
virtual const std::string & getTag () const
 
virtual void setTag (const std::string &tag)
 

Public Attributes

CommonVertexFormatVAO vertex_array_object
 
ArrayBuffer vertex_position_buffer
 

Static Public Attributes

static const GLuint msPositionAttrIndex = 0
 

Protected Member Functions

virtual void updateMeasurement ()
 
virtual void linkElementBuffers ()
 
virtual void _startGpuUpload ()
 
virtual void _uploadData ()
 
virtual void _finishGpuUpload ()
 
void _measure_min_max_ (const std::vector< glm::vec3 > &vertices, glm::vec3 *min_point, glm::vec3 *max_point)
 
void _normalize_vertices (std::vector< glm::vec3 > &vertices, const glm::vec3 &min, const glm::vec3 &max)
 

Protected Attributes

bool measurement_current_ = false
 
GpuSyncStatus sync_status_ = GpuSyncStatus::GPU_UNINITIALIZED
 
std::vector< glm::vec3 > cpu_vertex_buffer_
 
std::vector< std::vector< GLuint > > cpu_element_buffers_
 
std::vector< ElementArrayBuffervertex_elements_buffers_
 
glm::vec3 min_point_ = glm::vec3(0.0)
 
glm::vec3 max_point_ = glm::vec3(0.0)
 
- Protected Attributes inherited from OOOGL::ObjectTag
std::string tag
 

The documentation for this class was generated from the following files: