libVFRendering  0.14.0

A vector field rendering library
Public Types | Public Member Functions | Static Public Member Functions | List of all members
VFRendering::Geometry Class Reference

Public Types

typedef unsigned int index_type
 Type for use as indices into positions and vectors. More...
 

Public Member Functions

 Geometry (const std::vector< glm::vec3 > &positions, const std::vector< std::array< index_type, 3 >> &surface_indices={}, const std::vector< std::array< index_type, 4 >> &volume_indices={}, const bool &is_2d=false)
 
const std::vector< glm::vec3 > & positions () const
 
const std::vector< std::array< index_type, 3 > > & surfaceIndices () const
 
const std::vector< std::array< index_type, 4 > > & volumeIndices () const
 
const glm::vec3 & min () const
 
const glm::vec3 & max () const
 
const bool & is2d () const
 

Static Public Member Functions

static Geometry cartesianGeometry (glm::ivec3 n, glm::vec3 bounds_min, glm::vec3 bounds_max)
 
static Geometry rectilinearGeometry (const std::vector< float > &xs, const std::vector< float > &ys, const std::vector< float > &zs)
 

Member Typedef Documentation

◆ index_type

typedef unsigned int VFRendering::Geometry::index_type

Type for use as indices into positions and vectors.

Intuitively, this should be std::vector<glm::vec3>::size_type. However, as OpenGL does not support unsigned long int values for indices, it is defined as unsigned int instead.

This imposes a limit on the maximum number of positions/vectors. For this to be a problem, the directions and vectors would take up at least 96 GiB of GPU memory, so it should be fine for the next years.


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