Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::TetraMesh Class Referenceabstract

Data required to render tetrahedral meshes. More...

#include <inviwo/tetramesh/datastructures/tetramesh.h>

Inheritance diagram for inviwo::TetraMesh:

Public Member Functions

virtual TetraMesh * clone () const =0
virtual void get (std::vector< vec4 > &nodes, std::vector< ivec4 > &nodeIds) const =0
virtual mat4 getBoundingBox () const =0
virtual dvec2 getDataRange () const =0
virtual int getNumberOfCells () const =0
virtual int getNumberOfPoints () const =0
Public Member Functions inherited from inviwo::SpatialEntity
virtual const AxisgetAxis (size_t index) const =0
glm::mat3 getBasis () const
virtual const SpatialCoordinateTransformergetCoordinateTransformer () const
virtual const SpatialCameraCoordinateTransformergetCoordinateTransformer (const Camera &camera) const
glm::mat4 getModelMatrix () const
glm::vec3 getOffset () const
glm::mat4 getWorldMatrix () const
SpatialEntity & operator= (const SpatialEntity &that)
void setBasis (const glm::mat3 &basis)
void setModelMatrix (const glm::mat4 &modelMatrix)
void setOffset (const glm::vec3 &offset)
void setWorldMatrix (const glm::mat4 &worldMatrix)
 SpatialEntity (const glm::mat4 &modelMatrix)
 SpatialEntity (const glm::mat4 &modelMatrix, const glm::mat4 &worldMatrix)
 SpatialEntity (const SpatialEntity &rhs)

Additional Inherited Members

Protected Attributes inherited from inviwo::SpatialEntity
std::unique_ptr< SpatialCameraCoordinateTransformercameraTransformer_
glm::mat4 modelMatrix_
std::unique_ptr< SpatialCoordinateTransformertransformer_
glm::mat4 worldMatrix_

Detailed Description

Data required to render tetrahedral meshes.

Provides and interface for the data structures required for rendering a tetrahedral mesh with OpenGL.

Data structures for tetrahedra indexing and face enumeration based on M. Lage, T. Lewiner, H. Lopes, and L. Velho. CHF: A scalable topological data structure for tetrahedral meshes. In Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI'05), pp. 349-356, 2005, doi: 10.1109/SIBGRAPI.2005.18

See also
TetraMeshBuffers

Member Function Documentation

◆ clone()

virtual TetraMesh * inviwo::TetraMesh::clone ( ) const
pure virtual

Implements inviwo::SpatialEntity.

◆ get()

virtual void inviwo::TetraMesh::get ( std::vector< vec4 > & nodes,
std::vector< ivec4 > & nodeIds ) const
pure virtual

Fill the nodes vector with the 3D coordinates of each node along with its scalar value (vec4). The scalar is stored in the w component. The nodeIds vector is filled with the node/vertex IDs for each tetrahedron (ivec4). The faces opposite of each node are implicitly encoded. The coordinates are given in Data space and can be transformed to Model space using the Model matrix or SpatialCoordinateTransformer::getDataToModelMatrix().

Implemented in inviwo::VolumeTetraMesh.

◆ getBoundingBox()

virtual mat4 inviwo::TetraMesh::getBoundingBox ( ) const
pure virtual

Return the bounding box of all nodes of the tetrahedral mesh in world space. The bounding box is represented using a mat4, where all positions are between bbox * (x,y,z,1) where x, y, and z are between 0 and 1.

Implemented in inviwo::VolumeTetraMesh.

◆ getDataRange()

virtual dvec2 inviwo::TetraMesh::getDataRange ( ) const
pure virtual

Return the data range of the scalar values

Returns
scalar value range

Implemented in inviwo::VolumeTetraMesh.


The documentation for this class was generated from the following file:
  • modules/tetramesh/include/inviwo/tetramesh/datastructures/tetramesh.h