Developer Documentation

Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT > Class Template Reference
Inheritance diagram for ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >:

## Public Types
typedef VolumeMeshT | VolumeMesh
typedef OpenVolumeMesh::VertexHandle | VertexHandle
typedef OpenVolumeMesh::EdgeHandle | EdgeHandle
typedef OpenVolumeMesh::HalfEdgeHandle | HalfEdgeHandle
typedef OpenVolumeMesh::FaceHandle | FaceHandle
typedef OpenVolumeMesh::HalfFaceHandle | HalfFaceHandle
typedef OpenVolumeMesh::CellHandle | CellHandle
typedef VolumeMeshT::PointT | Vertex
typedef OpenVolumeMesh::OpenVolumeMeshEdge | Edge
typedef OpenVolumeMesh::OpenVolumeMeshFace | Face
typedef OpenVolumeMesh::OpenVolumeMeshCell | Cell
using | Plane = ACG::Geometry::Plane
Public Types inherited from ACG::SceneGraph::ACG::SceneGraph::BaseNode
enum | StatusMode { Active = 0x1, HideNode = 0x2, HideChildren = 0x4, HideSubtree = 0x8 }
| Status modi. More...
enum | TraverseMode { NodeFirst = 0x1, ChildrenFirst = 0x2, SecondPass = 0x4 }
| Node traverse types. More...
typedef std::vector< BaseNode * >::const_iterator | ConstChildIter
| allows to iterate over children
typedef std::vector< BaseNode * >::iterator | ChildIter
| allows to iterate over children
typedef std::vector< BaseNode * >::const_reverse_iterator | ConstChildRIter
| allows to reverse iterate over children
typedef std::vector< BaseNode * >::reverse_iterator | ChildRIter
| allows to reverse iterate over children
enum | PASSES { NOPASS = 0, ALLPASSES = 1 << 0, PASS_1 = 1 << 1, PASS_2 = 1 << 2, PASS_3 = 1 << 3, PASS_4 = 1 << 4, PASS_5 = 1 << 5, PASS_6 = 1 << 6, PASS_7 = 1 << 7, PASS_8 = 1 << 8 }
| This enum should be used to enable rendering of a node in different.
typedef unsigned int | MultipassBitMask
| Multipass pass bit mask type.

## Public Member Functions
| VolumeMeshNodeT (const VolumeMesh &_mesh, OpenVolumeMesh::StatusAttrib &_statusAttrib, OpenVolumeMesh::ColorAttrib< Vec4f > &_colorAttrib, OpenVolumeMesh::NormalAttrib< VolumeMesh > &_normalAttrib, OpenVolumeMesh::TexCoordAttrib< Vec2f > &_texcoordAttrib, const MaterialNode *_matNode, BaseNode *_parent=0, std::string _name="<VolumeMeshNode>")
| Constructor.
| ~VolumeMeshNodeT ()
| Destructor.
DrawModes::DrawMode | availableDrawModes () const override
| static name of this class More...
void | boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override
| update bounding box
void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override
| draw lines and normals
void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) override
| Draws the object deferred. More...
void | pick (GLState &_state, PickTarget _target) override
| picking
void | clear_cut_planes ()
void | add_cut_plane (const Plane &_p)
void | add_cut_plane (const Vec3d &_p, const Vec3d &_n, const Vec3d &_xsize, const Vec3d &_ysize)
void | set_scaling (double _scale)
double | scaling () const
void | set_boundary_only (bool _boundary)
bool | boundary_only () const
void | set_translucency_factor (float _factor)
float | translucency_factor () const
void | set_topology_changed (bool _topology_changed)
void | set_geometry_changed (bool _geom_changed)
void | set_color_changed (bool _color_changed)
void | set_texture_changed (bool _texture_changed)
void | set_selection_changed (bool _selection_changed)
Public Member Functions inherited from ACG::SceneGraph::ACG::SceneGraph::BaseNode
| BaseNode (BaseNode *_parent=0, std::string _name="<unknown>")
| Default constructor.
| BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>")
| Put this node between _parent and _child.
virtual | ~BaseNode ()
| Destructor.
void | delete_subtree ()
| Delete the whole subtree of this node. More...
virtual const std::string & | className () const =0
| Return class name (implemented by the ACG_CLASSNAME macro)
virtual void | enter (GLState &, const DrawModes::DrawMode &)
virtual void | enter (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode)
virtual void | draw (GLState &, const DrawModes::DrawMode &)
| Draw this node using the draw modes _drawMode. More...
virtual void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
| Deferred draw call with shader based renderer. More...
virtual void | leave (GLState &, const DrawModes::DrawMode &)
virtual void | leave (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode)
virtual void | enterPick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode)
virtual void | pick (GLState &, PickTarget)
virtual void | leavePick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode)
void | enablePicking (bool _enable)
bool | pickingEnabled ()
virtual void | mouseEvent (GLState &, QMouseEvent *)
| Handle mouse event (some interaction, e.g. modeling)
void | setDirty (bool _dirty=true)
| mark node for redrawn
bool | isDirty () const
| Check if node should be redrawn.
ChildIter | childrenBegin ()
| Returns: begin-iterator of children.
ConstChildIter | childrenBegin () const
| Same but `cont`.
ChildIter | childrenEnd ()
| Returns: end-iterator of children.
ConstChildIter | childrenEnd () const
| Same but `const`.
ChildRIter | childrenRBegin ()
| Returns: reverse begin-iterator of children.
ConstChildRIter | childrenRBegin () const
| Same but const.
ChildRIter | childrenREnd ()
| Returns: reverse end-iterator of children.
ConstChildRIter | childrenREnd () const
| Same but `const`.
void | push_back (BaseNode *_node)
| Insert _node at the end of the list of children.
void | remove (ChildIter _pos)
size_t | nChildren () const
| number of children
ChildIter | find (BaseNode *_node)
BaseNode * | find (const std::string &_name)
BaseNode * | parent ()
| Get the nodes parent node.
const BaseNode * | parent () const
| Get the nodes parent node.
void | set_parent (BaseNode *_parent)
| Set the parent of this node. More...
StatusMode | status () const
| Get node's status.
void | set_status (StatusMode _s)
| Set the status of this node.
void | hide ()
| Hide Node: set status to HideNode.
void | show ()
| Show node: set status to Active.
bool | visible ()
| Is node visible (status == Active)?
bool | hidden ()
| Is node not visible (status != Active)?
std::string | name () const
| Returns: name of node (needs not be unique)
void | name (const std::string &_name)
| rename a node
unsigned int | id () const
DrawModes::DrawMode | drawMode () const
| Return the own draw modes of this node.
void | drawMode (DrawModes::DrawMode _drawMode)
unsigned int | traverseMode () const
| Return how the node should be traversed.
void | setTraverseMode (unsigned int _mode)
| Set traverse mode for node.
MultipassBitMask | multipassStatus () const
| Get the current multipass settings for the nodes status functions. More...
void | setMultipassStatus (const MultipassBitMask _passStatus)
| Set multipass settings for the nodes status functions. More...
void | multipassStatusSetActive (const unsigned int _i, bool _active)
| Set multipass status to traverse in a specific pass. More...
bool | multipassStatusActive (const unsigned int _i) const
| Get multipass status to traverse in a specific pass. More...
MultipassBitMask | multipassNode () const
| Get the current multipass settings for the node. More...
void | setMultipassNode (const MultipassBitMask _passNode)
| Set multipass settings for the node. More...
void | multipassNodeSetActive (const unsigned int _i, bool _active)
| Set Node status to traverse in a specific pass. More...
bool | multipassNodeActive (const unsigned int _i) const
| Get Node status to traverse in a specific pass. More...
void | setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON)
| Set custom shaders. More...
void | setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_tessControlShaderFile, const std::string &_tessEvalShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON)
| Set custom shaders. More...
void | setRenderObjectUniformPool (const GLSL::UniformPool *_pool)
| Set uniforms for shader based rendering. More...
const GLSL::UniformPool * | getRenderObjectUniformPool ()
| Get uniforms for shader based rendering. More...
void | setRenderObjectTexture (int _samplerSlot, GLuint _texId, GLenum _texType=GL_TEXTURE_2D)
| Set textures for shader based rendering. More...
void | setRenderObjectModifier (RenderObjectModifier *_modifier)
| Set modifier for render objects. More...
RenderObjectModifier * | getRenderObjectModifier ()
| Get render-object modifier. More...
void | applyRenderObjectSettings (DrawModes::DrawModePrimitive _primitive, RenderObject *_obj) const
| Set shaders, textures and uniforms as provided by user to a render-object. More...

## Private Member Functions
void | drawCells (GLState &_state, const DrawModes::DrawMode &_drawMode)
| renders the cells of the mesh
void | drawFaces (GLState &_state, const DrawModes::DrawMode &_drawMode)
| renders the faces or halffaces of the mesh
void | drawEdges (GLState &_state, const DrawModes::DrawMode &_drawMode)
| renders the edges or halfedges of the mesh
void | drawVertices (GLState &_state, const DrawModes::DrawMode &_drawMode)
| renders the vertices of the mesh
void | drawSelection (GLState &_state, const DrawModes::DrawMode &_drawMode)
| draw selected primitves
void | getCellRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
| adds render objects for drawing cells to the given renderer
void | getFaceRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
| adds render objects for drawing faces or halffaces to the given renderer
void | getEdgeRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
| adds render objects for drawing edges or halfedges to the given renderer
void | getVertexRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
| adds render objects for drawing vertices to the given renderer
void | getSelectionRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
| adds render objects for drawing selected primitves to the given renderer
void | invalidateAllBuffers ()
| invalidates all buffers
void | invalidateAllDrawBuffers ()
| invalidates all buffers used for normal rendering
void | invalidateAllPickingBuffers ()
| invalidates all buffers used for picking
void | invalidateAllSelectionBuffers ()
| invalidates all buffers used for rendering selected primitives
void | pickVertices (GLState &_state)
| pick vertices
void | pickEdges (GLState &_state, unsigned int _offset)
| pick edges
void | pickFaces (GLState &_state, unsigned int _offset)
| pick faces
void | pickCells (GLState &_state, unsigned int _offset)
| pick cells
void | pickVerticesCompat (GLState &_state)
| pick vertices using opengl compatibility profile
void | pickEdgesCompat (GLState &_state, unsigned int _offset)
| pick edges using opengl compatibility profile
void | pickFacesCompat (GLState &_state, unsigned int _offset)
| pick faces using opengl compatibility profile
void | pickCellsCompat (GLState &_state, unsigned int _offset)
| pick cells using opengl compatibility profile
void | pickCompat (GLState &_state, PickTarget _target)
| picking using opengl compatibility profile
void | update_face_normals ()
| updates face normals
void | update_vertex_normals ()
| updates vertex normals
| VolumeMeshNodeT (const VolumeMeshNodeT &_rhs)
| Copy constructor (not used)
VolumeMeshNodeT & | operator= (const VolumeMeshNodeT &_rhs)
| Assignment operator (not used)

## Private Attributes
const VolumeMesh & | mesh_
double | scale_
bool | boundary_only_
GLfloat | translucency_factor_
ACG::Vec4f | selection_color_
OpenVolumeMesh::StatusAttrib & | statusAttrib_
OpenVolumeMesh::ColorAttrib< Vec4f > & | colorAttrib_
OpenVolumeMesh::NormalAttrib< VolumeMesh > & | normalAttrib_
OpenVolumeMesh::TexCoordAttrib< Vec2f > & | texcoordAttrib_
const MaterialNode * | materialNode_
VolumeMeshBufferManager< VolumeMeshT > | cellsBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | facesBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | edgesBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | verticesBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | cellSelectionBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | faceSelectionBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | edgeSelectionBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | vertexSelectionBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | cellPickBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | facePickBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | edgePickBufferManager_
VolumeMeshBufferManager< VolumeMeshT > | vertexPickBufferManager_
VolumeMeshDrawModesContainer | drawModes_
DrawModes::DrawMode | lastDrawMode_
DrawModes::DrawMode | lastCellDrawMode_
DrawModes::DrawMode | lastFaceDrawMode_
DrawModes::DrawMode | lastEdgeDrawMode_
DrawModes::DrawMode | lastVertexDrawMode_
PickTarget | lastPickTarget_
bool | face_normals_calculated_
bool | vertex_normals_calculated_

## Detailed Description

### template<class VolumeMeshT>
class ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >

Definition at line 79 of file VolumeMeshNode.hh.

## Member Function Documentation

## ◆ availableDrawModes()

template<class VolumeMeshT >

DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::availableDrawModes | ( |  | ) | const
| override virtual

static name of this class

return available draw modes

Reimplemented from ACG::SceneGraph::ACG::SceneGraph::BaseNode.

Definition at line 150 of file VolumeMeshNodeT_impl.hh.

## ◆ getRenderObjects()

template<class VolumeMeshT >

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

Draws the object deferred.

Definition at line 1070 of file VolumeMeshNodeT_impl.hh.

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

- Type-OpenVolumeMesh/ObjectTypes/VolumeMeshObject/VolumeMeshNode.hh
- Type-OpenVolumeMesh/ObjectTypes/VolumeMeshObject/VolumeMeshNodeGLCompatT_impl.hh
- Type-OpenVolumeMesh/ObjectTypes/VolumeMeshObject/VolumeMeshNodeT_impl.hh