neurolots  0.3.5
NeuroLOTs
nlgeometry::Mesh Class Reference
+ Collaboration diagram for nlgeometry::Mesh:

Public Member Functions

NLGEOMETRY_API Mesh (void)
 Default constructor.
 
virtual NLGEOMETRY_API ~Mesh (void)
 Default destructor.
 
virtual NLGEOMETRY_API void init (void)
 Method to initialize the geometric data.
 
NLGEOMETRY_API Vertices & vertices (void)
 Method that return the mesh vertices. More...
 
NLGEOMETRY_API Facets & lines (void)
 Method that return the mesh lines. More...
 
NLGEOMETRY_API Facets & triangles (void)
 Method that return the mesh triangles. More...
 
NLGEOMETRY_API Facets & quads (void)
 Method that return the returns the mesh quads. More...
 
NLGEOMETRY_API unsigned int verticesSize (void)
 Method that return the uploaded vertices size. More...
 
NLGEOMETRY_API AxisAlignedBoundingBoxaaBoundingBox (void)
 Method that returns the returns the mesh axis aligned bounding box. More...
 
NLGEOMETRY_API Eigen::Matrix4f & modelMatrix (void)
 Method that return the returns the mesh model matrix. More...
 
NLGEOMETRY_API float * modelMatrixVectorized (void)
 
NLGEOMETRY_API void clearCPUData (void)
 Method that free the cpu geometric information of the mesh.
 
NLGEOMETRY_API void clearGPUData (void)
 Method that free the gpu geometric information of the mesh.
 
virtual NLGEOMETRY_API void uploadGPU (AttribsFormat format_, Facet::TFacetType facetType_=Facet::TRIANGLES)
 Method that upload the geometric information of the mesh to the gpu. More...
 
NLGEOMETRY_API void uploadBuffer (TAttribType format_, std::vector< float > &buffer_)
 Method that upload the geometric information of the mesh to the gpu. More...
 
NLGEOMETRY_API void computeBoundingBox (void)
 Method that computes the axis aligned bounding box of the mesh geometry.
 
NLGEOMETRY_API void computeNormals (void)
 Method that computes the normals of the mesh geometry.
 
virtual NLGEOMETRY_API void renderLines (void)
 Method that render the mesh lines.
 
virtual NLGEOMETRY_API void renderTriangles (void)
 Method that render the mesh triangles.
 
virtual NLGEOMETRY_API void renderQuads (void)
 Method that render the mesh quads.
 
NLGEOMETRY_API void render (void)
 Method that render the all mesh.
 

Protected Attributes

Vertices _vertices
 Mesh vertices.
 
Facets _lines
 Mesh lines.
 
Facets _triangles
 Mesh triangles.
 
Facets _quads
 Mesh quads.
 
AxisAlignedBoundingBox _aaBoundingBox
 Mesh axis aligned bounding box.
 
unsigned int _vao
 Index to the Vertex Array Object of the mesh in the gpu.
 
std::vector< unsigned int > _vbos
 Vector of indices of the Vertex Buffer Objects of the mesh in the gpu.
 
unsigned int _linesSize
 Size of the mesh lines.
 
unsigned int _trianglesSize
 Size of the mesh triangles.
 
unsigned int _quadsSize
 Size of the mesh quads.
 
unsigned int _verticesSize
 Size of uploaded vertices.
 
Eigen::Matrix4f _modelMatrix
 Model matrix of the mesh.
 
AttribsFormat _format
 Attribs format in gpu.
 
Facet::TFacetType _facetType
 Facet type uploaded to the gpu.
 

Detailed Description

Definition at line 38 of file Mesh.h.

Member Function Documentation

NLGEOMETRY_API AxisAlignedBoundingBox& nlgeometry::Mesh::aaBoundingBox ( void  )

Method that returns the returns the mesh axis aligned bounding box.

Returns
the mesh axis aligned bounding box
NLGEOMETRY_API Facets& nlgeometry::Mesh::lines ( void  )

Method that return the mesh lines.

Returns
the mesh lines
NLGEOMETRY_API Eigen::Matrix4f& nlgeometry::Mesh::modelMatrix ( void  )

Method that return the returns the mesh model matrix.

Returns
the mesh model matrix
NLGEOMETRY_API Facets& nlgeometry::Mesh::quads ( void  )

Method that return the returns the mesh quads.

Returns
the mesh quads

Referenced by nlgeometry::ObjReaderTemplated< VERTEX >::readMesh().

+ Here is the caller graph for this function:

NLGEOMETRY_API Facets& nlgeometry::Mesh::triangles ( void  )

Method that return the mesh triangles.

Returns
the mesh triangles

Referenced by nlgeometry::ObjReaderTemplated< VERTEX >::readMesh().

+ Here is the caller graph for this function:

NLGEOMETRY_API void nlgeometry::Mesh::uploadBuffer ( TAttribType  format_,
std::vector< float > &  buffer_ 
)

Method that upload the geometric information of the mesh to the gpu.

Parameters
format_format of the gpu buffer
buffer_geometric data to upload
virtual NLGEOMETRY_API void nlgeometry::Mesh::uploadGPU ( AttribsFormat  format_,
Facet::TFacetType  facetType_ = Facet::TRIANGLES 
)
virtual

Method that upload the geometric information of the mesh to the gpu.

Parameters
format_format of the gpu buffers
NLGEOMETRY_API Vertices& nlgeometry::Mesh::vertices ( void  )

Method that return the mesh vertices.

Returns
the mesh vertices

Referenced by nlgeometry::ObjReaderTemplated< VERTEX >::readMesh().

+ Here is the caller graph for this function:

NLGEOMETRY_API unsigned int nlgeometry::Mesh::verticesSize ( void  )

Method that return the uploaded vertices size.

Returns
the uploades vertices size

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