Developer Documentation

Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ACG::SceneGraph::StatusNodeT< Mesh, Mod > Class Template Reference

`#include <ACG/Scenegraph/StatusNodesT.hh>`

Inheritance diagram for ACG::SceneGraph::StatusNodeT< Mesh, Mod >:

## Public Types
typedef StatusNodeBaseT< Mesh, Mod, ::StatusNodes_ModTraits< Mod >::StaticUsage > | BaseClass
typedef Mod | ModType

## Public Member Functions
| StatusNodeT (const Mesh &_mesh, BaseNode *_parent=0, const std::string &_name="<StatusNode>")
| constructor
virtual | ~StatusNodeT ()
| destructor
| ACG_CLASSNAME (StatusNode)
void | updateGeometry ()
| set geometry invalid, topology and selection is kept
void | updateTopology ()
| set topology invalid (updates everything)
void | updateSelection ()
| set selection invalid (Only selection changed, rest is kept)
void | setDrawMesh (DrawMeshT< Mesh > *_drawmesh)
| Set drawmesh. More...
void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const class Material *_mat) override
| support for shader-pipeline More...
DrawModes::DrawMode | availableDrawModes () const override
void | boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override
void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override
void | pick (GLState &, PickTarget) override

## Private Types
typedef Mesh::Face | Face
typedef Mesh::Vertex | Vertex
typedef Mesh::Halfedge | Halfedge
typedef Mesh::Edge | Edge
typedef Mesh::FaceHandle | FaceHandle
typedef Mesh::HalfedgeHandle | HalfedgeHandle
typedef Mesh::Point | Point
typedef Mesh::Normal | Normal

## Private Member Functions
void | update_cache ()
void | draw_points ()
void | draw_edges ()
void | draw_halfedges ()
void | draw_faces (bool _per_vertex)
Point | halfedge_point (const HalfedgeHandle _heh)
void | updateIBOData (GLuint &bufferName_, size_t numberOfElements_, size_t sizeOfElements_, void *data_)
void | updateHEVBOPoints (size_t numberOfElements_, size_t sizeOfElements_, void *data_)

## Private Attributes
const Mesh & | mesh_
DrawMeshT< Mesh > * | drawMesh_
std::vector< unsigned int > | v_cache_
std::vector< unsigned int > | e_cache_
std::vector< unsigned int > | f_cache_
std::vector< unsigned int > | poly_cache_
std::vector< FaceHandle > | fh_cache_
std::vector< Point > | he_points_
std::vector< Normal > | he_normals_
Vec3d | bbMin_
Vec3d | bbMax_
bool | invalidGeometry_
| State variables.
bool | vertexIndexInvalid_
bool | halfedgeCacheInvalid_
bool | edgeIndexInvalid_
bool | faceIndexInvalid_
VertexDeclaration | pointVertexDecl_
VertexDeclaration | halfedgeVertexDecl_
Private Attributes inherited from ACG::SceneGraph::StatusNodesBase
GLuint | heVBO_
GLuint | eIBO_
GLuint | fIBO_
GLuint | vIBO_
GLuint | pIBO_

## Detailed Description

### template<class Mesh, class Mod>
class ACG::SceneGraph::StatusNodeT< Mesh, Mod >

Renders Status flags of Mesh Vertices/Faces/Edges

Definition at line 207 of file StatusNodesT.hh.

## Member Function Documentation

## ◆ getRenderObjects()

template<class Mesh , class Mod >

void ACG::SceneGraph::StatusNodeT< Mesh, Mod >::getRenderObjects | ( | IRenderer * | _renderer,
|  | GLState & | _state,
|  | const DrawModes::DrawMode & | _drawMode,
|  | const class Material * | _mat
| ) |  |
| override

support for shader-pipeline

Parameters

  _renderer | Render-Interface, collector for Renderobjects
  _state | current OpenGL state
  _drawMode | active Drawmode
  _mat | active Material

Definition at line 598 of file StatusNodesT_impl.hh.

## ◆ setDrawMesh()

template<class Mesh, class Mod >

void ACG::SceneGraph::StatusNodeT< Mesh, Mod >::setDrawMesh | ( | DrawMeshT< Mesh > * | _drawmesh | ) |

Set drawmesh.

Selections are then rendered with gpu buffers gathered fro the meshnode for improved performance

Parameters

  _drawmesh | Pointer to the drawmesh for which this status node will work

Definition at line 765 of file StatusNodesT_impl.hh.

## ◆ update_cache()

template<class Mesh , class Mod >

void ACG::SceneGraph::StatusNodeT< Mesh, Mod >::update_cache | ( |  | ) |
| private

build/update cache of active vertices/edges/faces. This function automatically enables caching.

Definition at line 122 of file StatusNodesT_impl.hh.

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

- OpenFlipper/libs_required/ACG/Scenegraph/StatusNodesT.hh
- OpenFlipper/libs_required/ACG/Scenegraph/StatusNodesT_impl.hh