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

Data required to render tetrahedral meshes. More...

#include <tetramesh.h>

+ Inheritance diagram for inviwo::TetraMesh:

Public Member Functions

virtual TetraMeshclone () const =0
 
virtual int getNumberOfCells () const =0
 
virtual int getNumberOfPoints () 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
 
- Public Member Functions inherited from inviwo::SpatialEntity
 SpatialEntity (const glm::mat4 &modelMatrix)
 
 SpatialEntity (const glm::mat4 &modelMatrix, const glm::mat4 &worldMatrix)
 
 SpatialEntity (const SpatialEntity &rhs)
 
SpatialEntityoperator= (const SpatialEntity &that)
 
glm::vec3 getOffset () const
 
void setOffset (const glm::vec3 &offset)
 
glm::mat3 getBasis () const
 
void setBasis (const glm::mat3 &basis)
 
glm::mat4 getModelMatrix () const
 
void setModelMatrix (const glm::mat4 &modelMatrix)
 
glm::mat4 getWorldMatrix () const
 
void setWorldMatrix (const glm::mat4 &worldMatrix)
 
virtual const SpatialCoordinateTransformergetCoordinateTransformer () const
 
virtual const SpatialCameraCoordinateTransformergetCoordinateTransformer (const Camera &camera) const
 
virtual const AxisgetAxis (size_t index) const =0
 

Additional Inherited Members

- Protected Attributes inherited from inviwo::SpatialEntity
std::unique_ptr< SpatialCoordinateTransformertransformer_
 
std::unique_ptr< SpatialCameraCoordinateTransformercameraTransformer_
 
glm::mat4 modelMatrix_
 
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: