Developer Documentation
ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT > Class Template Reference
Inheritance diagram for ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >:
ACG::SceneGraph::BaseNode

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::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 More...
 
typedef std::vector< BaseNode * >::iterator ChildIter
 allows to iterate over children More...
 
typedef std::vector< BaseNode * >::const_reverse_iterator ConstChildRIter
 allows to reverse iterate over children More...
 
typedef std::vector< BaseNode * >::reverse_iterator ChildRIter
 allows to reverse iterate over children More...
 
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. More...
 
typedef unsigned int MultipassBitMask
 Multipass pass bit mask type. More...
 

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. More...
 
 ~VolumeMeshNodeT ()
 Destructor. More...
 
DrawModes::DrawMode availableDrawModes () const override
 static name of this class More...
 
void boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override
 update bounding box More...
 
void draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override
 draw lines and normals More...
 
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 More...
 
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::BaseNode
 BaseNode (BaseNode *_parent=0, std::string _name="<unknown>")
 Default constructor. More...
 
 BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>")
 Put this node between _parent and _child. More...
 
virtual ~BaseNode ()
 Destructor. More...
 
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 DrawModes::DrawMode availableDrawModes () const
 
virtual void boundingBox (Vec3d &, Vec3d &)
 
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) More...
 
void setDirty (bool _dirty=true)
 mark node for redrawn More...
 
bool isDirty () const
 Check if node should be redrawn. More...
 
ChildIter childrenBegin ()
 Returns: begin-iterator of children. More...
 
ConstChildIter childrenBegin () const
 Same but cont. More...
 
ChildIter childrenEnd ()
 Returns: end-iterator of children. More...
 
ConstChildIter childrenEnd () const
 Same but const. More...
 
ChildRIter childrenRBegin ()
 Returns: reverse begin-iterator of children. More...
 
ConstChildRIter childrenRBegin () const
 Same but const. More...
 
ChildRIter childrenREnd ()
 Returns: reverse end-iterator of children. More...
 
ConstChildRIter childrenREnd () const
 Same but const. More...
 
void push_back (BaseNode *_node)
 Insert _node at the end of the list of children. More...
 
void remove (ChildIter _pos)
 
size_t nChildren () const
 number of children More...
 
ChildIter find (BaseNode *_node)
 
BaseNodefind (const std::string &_name)
 
BaseNodeparent ()
 Get the nodes parent node. More...
 
const BaseNodeparent () const
 Get the nodes parent node. More...
 
void set_parent (BaseNode *_parent)
 Set the parent of this node. More...
 
StatusMode status () const
 Get node's status. More...
 
void set_status (StatusMode _s)
 Set the status of this node. More...
 
void hide ()
 Hide Node: set status to HideNode. More...
 
void show ()
 Show node: set status to Active. More...
 
bool visible ()
 Is node visible (status == Active)? More...
 
bool hidden ()
 Is node not visible (status != Active)? More...
 
std::string name () const
 Returns: name of node (needs not be unique) More...
 
void name (const std::string &_name)
 rename a node More...
 
unsigned int id () const
 
DrawModes::DrawMode drawMode () const
 Return the own draw modes of this node. More...
 
void drawMode (DrawModes::DrawMode _drawMode)
 
unsigned int traverseMode () const
 Return how the node should be traversed. More...
 
void setTraverseMode (unsigned int _mode)
 Set traverse mode for node. More...
 
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::UniformPoolgetRenderObjectUniformPool ()
 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...
 
RenderObjectModifiergetRenderObjectModifier ()
 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 More...
 
void drawFaces (GLState &_state, const DrawModes::DrawMode &_drawMode)
 renders the faces or halffaces of the mesh More...
 
void drawEdges (GLState &_state, const DrawModes::DrawMode &_drawMode)
 renders the edges or halfedges of the mesh More...
 
void drawVertices (GLState &_state, const DrawModes::DrawMode &_drawMode)
 renders the vertices of the mesh More...
 
void drawSelection (GLState &_state, const DrawModes::DrawMode &_drawMode)
 draw selected primitves More...
 
void getCellRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
 adds render objects for drawing cells to the given renderer More...
 
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 More...
 
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 More...
 
void getVertexRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
 adds render objects for drawing vertices to the given renderer More...
 
void getSelectionRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
 adds render objects for drawing selected primitves to the given renderer More...
 
void invalidateAllBuffers ()
 invalidates all buffers More...
 
void invalidateAllDrawBuffers ()
 invalidates all buffers used for normal rendering More...
 
void invalidateAllPickingBuffers ()
 invalidates all buffers used for picking More...
 
void invalidateAllSelectionBuffers ()
 invalidates all buffers used for rendering selected primitives More...
 
void pickVertices (GLState &_state)
 pick vertices More...
 
void pickEdges (GLState &_state, unsigned int _offset)
 pick edges More...
 
void pickFaces (GLState &_state, unsigned int _offset)
 pick faces More...
 
void pickCells (GLState &_state, unsigned int _offset)
 pick cells More...
 
void pickVerticesCompat (GLState &_state)
 pick vertices using opengl compatibility profile More...
 
void pickEdgesCompat (GLState &_state, unsigned int _offset)
 pick edges using opengl compatibility profile More...
 
void pickFacesCompat (GLState &_state, unsigned int _offset)
 pick faces using opengl compatibility profile More...
 
void pickCellsCompat (GLState &_state, unsigned int _offset)
 pick cells using opengl compatibility profile More...
 
void pickCompat (GLState &_state, PickTarget _target)
 picking using opengl compatibility profile More...
 
void update_face_normals ()
 updates face normals More...
 
void update_vertex_normals ()
 updates vertex normals More...
 
 VolumeMeshNodeT (const VolumeMeshNodeT &_rhs)
 Copy constructor (not used)
 
VolumeMeshNodeToperator= (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::StatusAttribstatusAttrib_
 
OpenVolumeMesh::ColorAttrib< Vec4f > & colorAttrib_
 
OpenVolumeMesh::NormalAttrib< VolumeMesh > & normalAttrib_
 
OpenVolumeMesh::TexCoordAttrib< Vec2f > & texcoordAttrib_
 
const MaterialNodematerialNode_
 
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 Typedef Documentation

◆ Cell

template<class VolumeMeshT >
typedef OpenVolumeMesh::OpenVolumeMeshCell ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::Cell

Definition at line 94 of file VolumeMeshNode.hh.

◆ CellHandle

template<class VolumeMeshT >
typedef OpenVolumeMesh::CellHandle ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::CellHandle

Definition at line 89 of file VolumeMeshNode.hh.

◆ Edge

template<class VolumeMeshT >
typedef OpenVolumeMesh::OpenVolumeMeshEdge ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::Edge

Definition at line 92 of file VolumeMeshNode.hh.

◆ EdgeHandle

template<class VolumeMeshT >
typedef OpenVolumeMesh::EdgeHandle ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::EdgeHandle

Definition at line 85 of file VolumeMeshNode.hh.

◆ Face

template<class VolumeMeshT >
typedef OpenVolumeMesh::OpenVolumeMeshFace ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::Face

Definition at line 93 of file VolumeMeshNode.hh.

◆ FaceHandle

template<class VolumeMeshT >
typedef OpenVolumeMesh::FaceHandle ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::FaceHandle

Definition at line 87 of file VolumeMeshNode.hh.

◆ HalfEdgeHandle

template<class VolumeMeshT >
typedef OpenVolumeMesh::HalfEdgeHandle ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::HalfEdgeHandle

Definition at line 86 of file VolumeMeshNode.hh.

◆ HalfFaceHandle

template<class VolumeMeshT >
typedef OpenVolumeMesh::HalfFaceHandle ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::HalfFaceHandle

Definition at line 88 of file VolumeMeshNode.hh.

◆ Plane

template<class VolumeMeshT >
using ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::Plane = ACG::Geometry::Plane

Definition at line 96 of file VolumeMeshNode.hh.

◆ Vertex

template<class VolumeMeshT >
typedef VolumeMeshT::PointT ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::Vertex

Definition at line 91 of file VolumeMeshNode.hh.

◆ VertexHandle

template<class VolumeMeshT >
typedef OpenVolumeMesh::VertexHandle ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::VertexHandle

Definition at line 84 of file VolumeMeshNode.hh.

◆ VolumeMesh

template<class VolumeMeshT >
typedef VolumeMeshT ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::VolumeMesh

Definition at line 83 of file VolumeMeshNode.hh.

Constructor & Destructor Documentation

◆ VolumeMeshNodeT()

template<class VolumeMeshT >
ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::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.

Definition at line 75 of file VolumeMeshNodeT_impl.hh.

◆ ~VolumeMeshNodeT()

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

Destructor.

Definition at line 129 of file VolumeMeshNodeT_impl.hh.

Member Function Documentation

◆ add_cut_plane() [1/2]

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::add_cut_plane ( const Plane _p)

Definition at line 1542 of file VolumeMeshNodeT_impl.hh.

◆ add_cut_plane() [2/2]

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::add_cut_plane ( const Vec3d _p,
const Vec3d _n,
const Vec3d _xsize,
const Vec3d _ysize 
)

Definition at line 1447 of file VolumeMeshNodeT_impl.hh.

◆ availableDrawModes()

template<class VolumeMeshT >
DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::availableDrawModes
overridevirtual

static name of this class

return available draw modes

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 150 of file VolumeMeshNodeT_impl.hh.

◆ boundary_only()

template<class VolumeMeshT >
bool ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::boundary_only ( ) const
inline

Definition at line 146 of file VolumeMeshNode.hh.

◆ boundingBox()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::boundingBox ( Vec3d _bbMin,
Vec3d _bbMax 
)
overridevirtual

update bounding box

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 136 of file VolumeMeshNodeT_impl.hh.

◆ clear_cut_planes()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::clear_cut_planes

Definition at line 1228 of file VolumeMeshNodeT_impl.hh.

◆ draw()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::draw ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
overridevirtual

draw lines and normals

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 603 of file VolumeMeshNodeT_impl.hh.

◆ drawCells()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::drawCells ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
private

renders the cells of the mesh

Definition at line 242 of file VolumeMeshNodeT_impl.hh.

◆ drawEdges()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::drawEdges ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
private

renders the edges or halfedges of the mesh

Definition at line 413 of file VolumeMeshNodeT_impl.hh.

◆ drawFaces()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::drawFaces ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
private

renders the faces or halffaces of the mesh

Definition at line 305 of file VolumeMeshNodeT_impl.hh.

◆ drawSelection()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::drawSelection ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
private

draw selected primitves

Definition at line 492 of file VolumeMeshNodeT_impl.hh.

◆ drawVertices()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::drawVertices ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
private

renders the vertices of the mesh

Definition at line 456 of file VolumeMeshNodeT_impl.hh.

◆ getCellRenderObjects()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::getCellRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
private

adds render objects for drawing cells to the given renderer

Definition at line 743 of file VolumeMeshNodeT_impl.hh.

◆ getEdgeRenderObjects()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::getEdgeRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
private

adds render objects for drawing edges or halfedges to the given renderer

Definition at line 878 of file VolumeMeshNodeT_impl.hh.

◆ getFaceRenderObjects()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::getFaceRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
private

adds render objects for drawing faces or halffaces to the given renderer

Definition at line 808 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 
)
overridevirtual

Draws the object deferred.

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 1070 of file VolumeMeshNodeT_impl.hh.

◆ getSelectionRenderObjects()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::getSelectionRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
private

adds render objects for drawing selected primitves to the given renderer

Definition at line 973 of file VolumeMeshNodeT_impl.hh.

◆ getVertexRenderObjects()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::getVertexRenderObjects ( IRenderer _renderer,
GLState _state,
const DrawModes::DrawMode _drawMode,
const Material _mat 
)
private

adds render objects for drawing vertices to the given renderer

Definition at line 926 of file VolumeMeshNodeT_impl.hh.

◆ invalidateAllBuffers()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::invalidateAllBuffers
private

invalidates all buffers

Definition at line 568 of file VolumeMeshNodeT_impl.hh.

◆ invalidateAllDrawBuffers()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::invalidateAllDrawBuffers
private

invalidates all buffers used for normal rendering

Definition at line 576 of file VolumeMeshNodeT_impl.hh.

◆ invalidateAllPickingBuffers()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::invalidateAllPickingBuffers
private

invalidates all buffers used for picking

Definition at line 585 of file VolumeMeshNodeT_impl.hh.

◆ invalidateAllSelectionBuffers()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::invalidateAllSelectionBuffers
private

invalidates all buffers used for rendering selected primitives

Definition at line 594 of file VolumeMeshNodeT_impl.hh.

◆ pick()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pick ( GLState _state,
PickTarget  _target 
)
overridevirtual

picking

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 1120 of file VolumeMeshNodeT_impl.hh.

◆ pickCells()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickCells ( GLState _state,
unsigned int  _offset 
)
private

pick cells

Definition at line 1389 of file VolumeMeshNodeT_impl.hh.

◆ pickCellsCompat()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickCellsCompat ( GLState _state,
unsigned int  _offset 
)
private

pick cells using opengl compatibility profile

Definition at line 299 of file VolumeMeshNodeGLCompatT_impl.hh.

◆ pickCompat()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickCompat ( GLState _state,
PickTarget  _target 
)
private

picking using opengl compatibility profile

Definition at line 53 of file VolumeMeshNodeGLCompatT_impl.hh.

◆ pickEdges()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickEdges ( GLState _state,
unsigned int  _offset 
)
private

pick edges

Definition at line 1299 of file VolumeMeshNodeT_impl.hh.

◆ pickEdgesCompat()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickEdgesCompat ( GLState _state,
unsigned int  _offset 
)
private

pick edges using opengl compatibility profile

Definition at line 229 of file VolumeMeshNodeGLCompatT_impl.hh.

◆ pickFaces()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickFaces ( GLState _state,
unsigned int  _offset 
)
private

pick faces

Definition at line 1346 of file VolumeMeshNodeT_impl.hh.

◆ pickFacesCompat()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickFacesCompat ( GLState _state,
unsigned int  _offset 
)
private

pick faces using opengl compatibility profile

Definition at line 266 of file VolumeMeshNodeGLCompatT_impl.hh.

◆ pickVertices()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickVertices ( GLState _state)
private

pick vertices

Definition at line 1251 of file VolumeMeshNodeT_impl.hh.

◆ pickVerticesCompat()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::pickVerticesCompat ( GLState _state)
private

pick vertices using opengl compatibility profile

Definition at line 188 of file VolumeMeshNodeGLCompatT_impl.hh.

◆ scaling()

template<class VolumeMeshT >
double ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::scaling ( ) const
inline

Definition at line 142 of file VolumeMeshNode.hh.

◆ set_boundary_only()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_boundary_only ( bool  _boundary)

Definition at line 1470 of file VolumeMeshNodeT_impl.hh.

◆ set_color_changed()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_color_changed ( bool  _color_changed)

Definition at line 1506 of file VolumeMeshNodeT_impl.hh.

◆ set_geometry_changed()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_geometry_changed ( bool  _geom_changed)

Definition at line 1499 of file VolumeMeshNodeT_impl.hh.

◆ set_scaling()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_scaling ( double  _scale)

Definition at line 1454 of file VolumeMeshNodeT_impl.hh.

◆ set_selection_changed()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_selection_changed ( bool  _selection_changed)

Definition at line 1532 of file VolumeMeshNodeT_impl.hh.

◆ set_texture_changed()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_texture_changed ( bool  _texture_changed)

Definition at line 1519 of file VolumeMeshNodeT_impl.hh.

◆ set_topology_changed()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_topology_changed ( bool  _topology_changed)

Definition at line 1492 of file VolumeMeshNodeT_impl.hh.

◆ set_translucency_factor()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::set_translucency_factor ( float  _factor)
inline

Definition at line 149 of file VolumeMeshNode.hh.

◆ translucency_factor()

template<class VolumeMeshT >
float ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::translucency_factor ( ) const
inline

Definition at line 150 of file VolumeMeshNode.hh.

◆ update_face_normals()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::update_face_normals
private

updates face normals

Definition at line 1427 of file VolumeMeshNodeT_impl.hh.

◆ update_vertex_normals()

template<class VolumeMeshT >
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::update_vertex_normals
private

updates vertex normals

Definition at line 1436 of file VolumeMeshNodeT_impl.hh.

Member Data Documentation

◆ boundary_only_

template<class VolumeMeshT >
bool ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::boundary_only_
private

Definition at line 238 of file VolumeMeshNode.hh.

◆ cellPickBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::cellPickBufferManager_
private

Definition at line 263 of file VolumeMeshNode.hh.

◆ cellsBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::cellsBufferManager_
private

Definition at line 253 of file VolumeMeshNode.hh.

◆ cellSelectionBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::cellSelectionBufferManager_
private

Definition at line 258 of file VolumeMeshNode.hh.

◆ colorAttrib_

template<class VolumeMeshT >
OpenVolumeMesh::ColorAttrib<Vec4f>& ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::colorAttrib_
private

Definition at line 247 of file VolumeMeshNode.hh.

◆ drawModes_

template<class VolumeMeshT >
VolumeMeshDrawModesContainer ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::drawModes_
private

Definition at line 268 of file VolumeMeshNode.hh.

◆ edgePickBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::edgePickBufferManager_
private

Definition at line 265 of file VolumeMeshNode.hh.

◆ edgesBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::edgesBufferManager_
private

Definition at line 255 of file VolumeMeshNode.hh.

◆ edgeSelectionBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::edgeSelectionBufferManager_
private

Definition at line 260 of file VolumeMeshNode.hh.

◆ face_normals_calculated_

template<class VolumeMeshT >
bool ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::face_normals_calculated_
private

Definition at line 278 of file VolumeMeshNode.hh.

◆ facePickBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::facePickBufferManager_
private

Definition at line 264 of file VolumeMeshNode.hh.

◆ facesBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::facesBufferManager_
private

Definition at line 254 of file VolumeMeshNode.hh.

◆ faceSelectionBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::faceSelectionBufferManager_
private

Definition at line 259 of file VolumeMeshNode.hh.

◆ lastCellDrawMode_

template<class VolumeMeshT >
DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::lastCellDrawMode_
private

Definition at line 271 of file VolumeMeshNode.hh.

◆ lastDrawMode_

template<class VolumeMeshT >
DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::lastDrawMode_
private

Definition at line 270 of file VolumeMeshNode.hh.

◆ lastEdgeDrawMode_

template<class VolumeMeshT >
DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::lastEdgeDrawMode_
private

Definition at line 273 of file VolumeMeshNode.hh.

◆ lastFaceDrawMode_

template<class VolumeMeshT >
DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::lastFaceDrawMode_
private

Definition at line 272 of file VolumeMeshNode.hh.

◆ lastPickTarget_

template<class VolumeMeshT >
PickTarget ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::lastPickTarget_
private

Definition at line 276 of file VolumeMeshNode.hh.

◆ lastVertexDrawMode_

template<class VolumeMeshT >
DrawModes::DrawMode ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::lastVertexDrawMode_
private

Definition at line 274 of file VolumeMeshNode.hh.

◆ materialNode_

template<class VolumeMeshT >
const MaterialNode* ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::materialNode_
private

Definition at line 251 of file VolumeMeshNode.hh.

◆ mesh_

template<class VolumeMeshT >
const VolumeMesh& ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::mesh_
private

Definition at line 233 of file VolumeMeshNode.hh.

◆ normalAttrib_

template<class VolumeMeshT >
OpenVolumeMesh::NormalAttrib<VolumeMesh>& ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::normalAttrib_
private

Definition at line 248 of file VolumeMeshNode.hh.

◆ scale_

template<class VolumeMeshT >
double ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::scale_
private

Definition at line 235 of file VolumeMeshNode.hh.

◆ selection_color_

template<class VolumeMeshT >
ACG::Vec4f ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::selection_color_
private

Definition at line 244 of file VolumeMeshNode.hh.

◆ statusAttrib_

template<class VolumeMeshT >
OpenVolumeMesh::StatusAttrib& ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::statusAttrib_
private

Definition at line 246 of file VolumeMeshNode.hh.

◆ texcoordAttrib_

template<class VolumeMeshT >
OpenVolumeMesh::TexCoordAttrib<Vec2f>& ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::texcoordAttrib_
private

Definition at line 249 of file VolumeMeshNode.hh.

◆ translucency_factor_

template<class VolumeMeshT >
GLfloat ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::translucency_factor_
private

Definition at line 241 of file VolumeMeshNode.hh.

◆ vertex_normals_calculated_

template<class VolumeMeshT >
bool ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::vertex_normals_calculated_
private

Definition at line 279 of file VolumeMeshNode.hh.

◆ vertexPickBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::vertexPickBufferManager_
private

Definition at line 266 of file VolumeMeshNode.hh.

◆ vertexSelectionBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::vertexSelectionBufferManager_
private

Definition at line 261 of file VolumeMeshNode.hh.

◆ verticesBufferManager_

template<class VolumeMeshT >
VolumeMeshBufferManager<VolumeMeshT> ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::verticesBufferManager_
private

Definition at line 256 of file VolumeMeshNode.hh.


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