Developer Documentation
|
#include <ACG/Scenegraph/StatusNodesT.hh>
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_ |
Renders Status flags of Mesh Vertices/Faces/Edges
Definition at line 207 of file StatusNodesT.hh.
|
override |
support for shader-pipeline
_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.
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
_drawmesh | Pointer to the drawmesh for which this status node will work |
Definition at line 765 of file StatusNodesT_impl.hh.
|
private |
build/update cache of active vertices/edges/faces. This function automatically enables caching.
Definition at line 122 of file StatusNodesT_impl.hh.