Developer Documentation
|
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 |
typedef VolumeMeshBufferManager< VolumeMeshT >::Plane | 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 |
static name of this class More... | |
void | boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) |
update bounding box | |
void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode) |
draw lines and normals | |
void | getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat) |
Draws the object deferred. More... | |
void | pick (GLState &_state, PickTarget _target) |
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 | 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_ |
Definition at line 87 of file VolumeMeshNode.hh.
|
virtual |
static name of this class
return available draw modes
Reimplemented from ACG::SceneGraph::ACG::SceneGraph::BaseNode.
Definition at line 153 of file VolumeMeshNodeT.cc.
void ACG::SceneGraph::VolumeMeshNodeT< VolumeMeshT >::getRenderObjects | ( | IRenderer * | _renderer, |
GLState & | _state, | ||
const DrawModes::DrawMode & | _drawMode, | ||
const Material * | _mat | ||
) |
Draws the object deferred.
Definition at line 1042 of file VolumeMeshNodeT.cc.