FemViewer::VtxAccumulator Class Reference

#include <VtxAccumulator.h>

Collaboration diagram for FemViewer::VtxAccumulator:
Collaboration graph
[legend]

List of all members.

Public Types

typedef GLuint index_type_t
typedef std::size_t size_type
typedef std::vector< Vec3D > Colors
typedef std::vector< Vec3D > Normals
typedef std::vector< Vertex > Vertices
typedef fvmath::Vec3f NodeCoords
typedef fvmath::Vec3f NodeColor
typedef std::vector< NodeCoords > Nodes
typedef std::vector< NodeColor > NodeColors
typedef std::vector< NodeCoords > NodeNormals
typedef Nodes::size_type NodesSizeType
typedef std::vector< unsigned int > Indices
typedef std::vector< GLsizei > Counts
typedef std::vector< GLint > BaseIndices
typedef std::vector< Shader * > Shaders
typedef std::vector< index_type_t > LocalIndices

Public Member Functions

void setUniformMatrix (const GLfloat *pData, const int pType=0)
void setUniformParams ()
 VtxAccumulator ()
 ~VtxAccumulator ()
bool init (const size_t nVerts, const size_t nEdges, const int type=LINEAR)
bool reset (int type=-1)
void update ()
void create ()
void createVertexBuffer ()
void createIndexBuffer ()
void createEdges (GLuint *pVAO)
void createTriangles (GLuint *pVA0)
void createTriangleStrips (GLuint *pVA0)
void createText (const GLuint type, const float *color)
void createGLCL ()
void cleanUp ()
void addColor (const Vec3D &pColor)
void addVertex (const Vertex &pVertex, const int dest=vtxEdge)
bool isVertexInitialized (const size_t index) const
void addNode (const fvmath::Vec3f &pNode)
void addEdge (const int s, const int e)
void addNodeColor (const fvmath::Vec3f &color)
void addNormal2Node (const fvmath::Vec3f &normal)
void addIndexOfNode (const unsigned int index, const int type=vtxTriangle)
void addLocalIndexOfNode (const index_type_t index, const int type=vtxTriangle)
void addPrimitiveCount (const unsigned int count, const int dest=vtxTriangle)
void dumpCharacteristics (std::ostream &pOstream, const std::string &pIndentation, const Matrix< float > &pTransformation) const
bool getVerticesFrozen () const
bool getColorsFrozen () const
bool freezeColors ()
void freezeVertices ()
Vertices & getVertices (const int type=vtxEdge)
Indices & getIndices (const int type=vtxEdge)
LocalIndices & getLocalIndices (const int type=vtxTriangle)
NodeColors & getNodeColors ()
size_t & getVertexCounter ()
GLuint * getPixelBufferHandle ()
BBox3D getBBox3D ()
const Colors & getColors () const
const Vertices & getVertices () const
const Nodes & getNodes () const
Normals & getNormals ()
void render (const RenderParams &pPram)
void setEdgeColor (const Vec3f &color)
void setEdgeWidth (const float width)

Public Attributes

bool aUpdateRenderParams
bool aRenderEdges
bool aRenderIsoLines
bool aRenderTraingleStrips
bool aRenderTraingles

Protected Attributes

const ViewManager * viewmgr_ptr
drawMethod renderer
int aType
Vertices aVertices
Indices aEdIndices
Vertices aTrVertices
Indices aTrIndices
Vertices aQuVertices
Indices aQuIndices
bool aGLinited
GLuint aVAOIds [vtxAll]
GLuint aBufferName [ALL_BO]
Counts aTFaceCounts
Counts aQFaceCounts
std::vector< int64_t > aCounts
unsigned int aNumTriFaces
const Matrixf & aProjection
const Matrixf & aModelView
const Light & aLight
const Legend & aLegend
Colors aColors
bool aColorsFrozen
Normals aNormals
bool aSimplifiedDirty
bool aVerticesFrozen
Nodes aNodes
NodeColors aNodeColors
NodeNormals aNodeNormals
CVec3f aEdgeColor
float aEdgeThickness
GLuint aUniforms [5]
EdgeShader * edges_renderer
TriangleShader * faces_renderer
LocalIndices aTrLocIndices
LocalIndices aQuLocIndices
size_type aVertexCounter
BBox3D aBBox

Member Typedef Documentation

typedef std::vector<GLint> FemViewer::VtxAccumulator::BaseIndices
typedef std::vector<GLsizei> FemViewer::VtxAccumulator::Counts
typedef std::vector<unsigned int> FemViewer::VtxAccumulator::Indices

Constructor & Destructor Documentation

FemViewer::VtxAccumulator::VtxAccumulator (  )  [explicit]

Here is the call graph for this function:

FemViewer::VtxAccumulator::~VtxAccumulator (  ) 

Here is the call graph for this function:


Member Function Documentation

void FemViewer::VtxAccumulator::addColor ( const Vec3D &  pColor  ) 
void FemViewer::VtxAccumulator::addEdge ( const int  s,
const int  e 
) [inline]

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::addIndexOfNode ( const unsigned int  index,
const int  type = vtxTriangle 
) [inline]

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::addLocalIndexOfNode ( const index_type_t  index,
const int  type = vtxTriangle 
) [inline]
void FemViewer::VtxAccumulator::addNode ( const fvmath::Vec3f &  pNode  )  [inline]

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::addNodeColor ( const fvmath::Vec3f &  color  )  [inline]

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::addNormal2Node ( const fvmath::Vec3f &  normal  )  [inline]

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::addPrimitiveCount ( const unsigned int  count,
const int  dest = vtxTriangle 
) [inline]
void FemViewer::VtxAccumulator::addVertex ( const Vertex &  pVertex,
const int  dest = vtxEdge 
)
void FemViewer::VtxAccumulator::cleanUp (  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::create (  ) 

Here is the call graph for this function:

void FemViewer::VtxAccumulator::createEdges ( GLuint *  pVAO  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::createGLCL (  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::createIndexBuffer (  ) 
void FemViewer::VtxAccumulator::createText ( const GLuint  type,
const float *  color 
)

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::createTriangles ( GLuint *  pVA0  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::createTriangleStrips ( GLuint *  pVA0  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::createVertexBuffer (  ) 
void FemViewer::VtxAccumulator::dumpCharacteristics ( std::ostream &  pOstream,
const std::string &  pIndentation,
const Matrix< float > &  pTransformation 
) const

Here is the caller graph for this function:

bool FemViewer::VtxAccumulator::freezeColors (  ) 
void FemViewer::VtxAccumulator::freezeVertices (  ) 
BBox3D FemViewer::VtxAccumulator::getBBox3D (  )  [inline]
const VtxAccumulator::Colors & FemViewer::VtxAccumulator::getColors (  )  const
bool FemViewer::VtxAccumulator::getColorsFrozen (  )  const
Indices& FemViewer::VtxAccumulator::getIndices ( const int  type = vtxEdge  )  [inline]
LocalIndices& FemViewer::VtxAccumulator::getLocalIndices ( const int  type = vtxTriangle  )  [inline]
NodeColors& FemViewer::VtxAccumulator::getNodeColors (  )  [inline]
const Nodes& FemViewer::VtxAccumulator::getNodes (  )  const [inline]
VtxAccumulator::Normals & FemViewer::VtxAccumulator::getNormals (  ) 
GLuint* FemViewer::VtxAccumulator::getPixelBufferHandle (  )  [inline]
size_t& FemViewer::VtxAccumulator::getVertexCounter (  )  [inline]
const VtxAccumulator::Vertices & FemViewer::VtxAccumulator::getVertices (  )  const
Vertices& FemViewer::VtxAccumulator::getVertices ( const int  type = vtxEdge  )  [inline]
bool FemViewer::VtxAccumulator::getVerticesFrozen (  )  const

Here is the caller graph for this function:

bool FemViewer::VtxAccumulator::init ( const size_t  nVerts,
const size_t  nEdges,
const int  type = LINEAR 
)

Here is the call graph for this function:

bool FemViewer::VtxAccumulator::isVertexInitialized ( const size_t  index  )  const [inline]
void FemViewer::VtxAccumulator::render ( const RenderParams &  pPram  ) 

Here is the call graph for this function:

bool FemViewer::VtxAccumulator::reset ( int  type = -1  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::setEdgeColor ( const Vec3f &  color  )  [inline]
void FemViewer::VtxAccumulator::setEdgeWidth ( const float  width  )  [inline]
void FemViewer::VtxAccumulator::setUniformMatrix ( const GLfloat *  pData,
const int  pType = 0 
)

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::setUniformParams (  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::VtxAccumulator::update (  ) 

Here is the call graph for this function:


Member Data Documentation

GLuint FemViewer::VtxAccumulator::aBufferName[ALL_BO] [protected]
std::vector<int64_t> FemViewer::VtxAccumulator::aCounts [protected]
unsigned int FemViewer::VtxAccumulator::aNumTriFaces [protected]
GLuint FemViewer::VtxAccumulator::aUniforms[5] [protected]
GLuint FemViewer::VtxAccumulator::aVAOIds[vtxAll] [protected]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1