|
Developer Documentation
|
#include <ACG/Scenegraph/StatusNodesT.hh>
Public Member Functions | |
| StatusNodeT (const Mesh &_mesh, BaseNode *_parent=0, const std::string &_name="<StatusNode>") | |
| constructor | |
| ~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) | |
| DrawModes::DrawMode | availableDrawModes () const |
| void | boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) |
| void | draw (GLState &_state, const DrawModes::DrawMode &_drawMode) |
| void | pick (GLState &, PickTarget) |
Public Member Functions inherited from ACG::SceneGraph::MaterialNode | |
| MaterialNode (BaseNode *_parent=0, const std::string &_name="<MaterialNode>", unsigned int _applyProperties=(All &~BackFaceCulling)) | |
| Default constructor. Applies all properties. | |
| virtual | ~MaterialNode () |
| Destructor. | |
| void | read (std::istream &_is) |
| read MaterialFile | |
| float | alpha_value () |
| get current alpha value for alpha_test | |
| bool | blending () |
| GLenum | blending_param1 () |
| GLenum | blending_param2 () |
| void | enable_blending (GLenum _p1=GL_SRC_ALPHA, GLenum _p2=GL_ONE_MINUS_SRC_ALPHA) |
| enable blending with Parameters (_p1, _p2) | |
| void | disable_blending () |
| disable blending | |
| bool | backface_culling () |
| void | enable_backface_culling () |
| enable backface culling (not active by default, see applyProperties) | |
| void | disable_backface_culling () |
| disable backface culling (not active by default, see applyProperties) | |
| unsigned int | applyProperties () const |
| get properties that will be applied (OR'ed ApplyProperties) | |
| void | applyProperties (unsigned int _applyProperties) |
| set properties that will be applied (OR'ed ApplyProperties) | |
| ACG::SceneGraph::Material & | material () |
| Get material object reference. | |
| void | set_material (const ACG::SceneGraph::Material &_m) |
| Set material object. | |
| ACG_CLASSNAME (MaterialNode) | |
| set current GL-color and GL-material | |
| void | enter (GLState &_state, const DrawModes::DrawMode &_drawmode) |
| set current GL-color and GL-material | |
| void | leave (GLState &_state, const DrawModes::DrawMode &_drawmode) |
| restores original GL-color and GL-material | |
| void | enterPick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode) |
| Do nothing in picking. | |
| void | leavePick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode) |
| Do nothing in picking. | |
| void | set_color (const Vec4f &_c) |
| set color (base, ambient, diffuse, specular) based on _c | |
| void | set_random_color () |
| Generates a random color and sets it. | |
| void | set_base_color (const Vec4f &_c) |
| set the base color | |
| const Vec4f & | base_color () const |
| get the base color | |
| void | set_ambient_color (const Vec4f &_a) |
| set the ambient color. | |
| const Vec4f & | ambient_color () const |
| get the ambient color. | |
| void | set_diffuse_color (const Vec4f &_d) |
| set the diffuse color. | |
| const Vec4f & | diffuse_color () const |
| get the diffuse color. | |
| void | set_specular_color (const Vec4f &_s) |
| set the specular color | |
| const Vec4f & | specular_color () const |
| get the specular color | |
| void | colorMaterial (const bool _cm) |
| Set colorMaterial. | |
| void | enable_color_material () |
| Enable Color Material. | |
| void | disable_color_material () |
| Disable Color Material. | |
| bool | colorMaterial () |
| get colorMaterial state | |
| void | set_shininess (float _s) |
| set shininess | |
| float | shininess () const |
| get shininess | |
| void | set_reflectance (double _m) |
| set reflectance | |
| double | reflectance () const |
| get reflectance | |
| void | set_point_size (float _sz) |
| set point size (default: 1.0) | |
| float | point_size () const |
| get point size | |
| void | set_line_width (float _sz) |
| set line width (default: 1.0) | |
| float | line_width () const |
| get line width | |
| void | set_round_points (bool _b) |
| set round points enabled | |
| bool | round_points () const |
| get round points enabled | |
| void | set_line_smooth (bool _b) |
| set: smooth lines enabled | |
| bool | line_smooth () const |
| get: rsmooth lines enabled | |
| void | enable_alpha_test (float _clip) |
| enable alpha test (draw pixels if alpha >= _clip) | |
| void | disable_alpha_test () |
| disable alpha test | |
| bool | alpha_test () |
| Return state of Alpha test. | |
| void | enable_multisampling () |
| Enable Multisampling. | |
| void | disable_multisampling () |
| enable alpha test (draw pixels if alpha >= _clip) | |
| bool | multiSampling () |
| Get state of multisampling. | |
| void | set_multisampling (bool _state) |
| Set state of multisampling. | |
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. | |
| 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 | draw (GLState &, const DrawModes::DrawMode &) |
| Draw this node using the draw modes _drawMode. | |
| virtual void | getRenderObjects (IRenderer *, GLState &, const DrawModes::DrawMode &) |
| Deferred draw call with shader based renderer. | |
| virtual void | leave (GLState &, const DrawModes::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) |
| unsigned int | nChildren () const |
| number of children | |
| ChildIter | find (BaseNode *_node) |
| BaseNode * | find (const std::string &_name) |
| BaseNode * | parent () |
| Get the nodes parent node. | |
| void | set_parent (BaseNode *_parent) |
| Set the parent of this node. | |
| 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. | |
| void | setMultipassStatus (const MultipassBitMask _passStatus) |
| Set multipass settings for the nodes status functions. | |
| void | multipassStatusSetActive (const unsigned int _i, bool _active) |
| Set multipass status to traverse in a specific pass. | |
| bool | multipassStatusActive (const unsigned int _i) const |
| Get multipass status to traverse in a specific pass. | |
| MultipassBitMask | multipassNode () const |
| Get the current multipass settings for the node. | |
| void | setMultipassNode (const MultipassBitMask _passNode) |
| Set multipass settings for the node. | |
| void | multipassNodeSetActive (const unsigned int _i, bool _active) |
| Set Node status to traverse in a specific pass. | |
| bool | multipassNodeActive (const unsigned int _i) const |
| Get Node status to traverse in a specific pass. | |
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) |
Private Attributes | |
| const Mesh & | mesh_ |
| std::vector< unsigned int > | v_cache_ |
| std::vector< unsigned int > | e_cache_ |
| std::vector< unsigned int > | f_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_ |
Additional Inherited Members | |
Public Types inherited from ACG::SceneGraph::MaterialNode | |
| enum | ApplyProperties { None = 0, All = 0xffff, BaseColor = 1, Material = 2, PointSize = 4, LineWidth = 8, RoundPoints = 16, LineSmooth = 32, AlphaTest = 64, Blending = 128, BackFaceCulling = 256, ColorMaterial = 512, MultiSampling = 1024 } |
| Apply which properties? Others will be ignored. Values may be OR'ed. More... | |
Renders Status flags of Mesh Vertices/Faces/Edges
Definition at line 84 of file StatusNodesT.hh.
|
virtual |
Return a list of available draw modes for this node: should be OR'ed from the items of the enum DrawModeIDs.
Reimplemented from ACG::SceneGraph::ACG::SceneGraph::BaseNode.
Definition at line 110 of file StatusNodesT.cc.
|
virtual |
Compute the bounding box of this node and update the values _bbMin and _bbMax accordingly. Do not initialize _bbMin and _bbMax since they may already store values of previous nodes' bounding box computation.
Reimplemented from ACG::SceneGraph::ACG::SceneGraph::BaseNode.
Definition at line 97 of file StatusNodesT.cc.
|
private |
build/update cache of active vertices/edges/faces. This function automatically enables caching.
Definition at line 124 of file StatusNodesT.cc.