Namespaces | |
| namespace | DrawModes |
Classes | |
| class | QtManipulatorNode |
| class | QtTranslationManipulatorNode |
| class | BaseNode |
| class | BoundingBoxNode |
| class | CartesianClippingNode |
| class | ClippingNode |
| class | CoordFrameNode |
| class | CoordsysNode |
| class | EnvMapNode |
| class | GlutPrimitiveNode |
| class | GridNode |
| class | LightSourceNode |
| class | LineNode |
| class | ManipulatorNode |
| class | Material2Node |
| class | MaterialNode |
| class | MeshNodeT |
| class | OBJNode |
| class | PlaneNode |
| class | PointNode |
| class | PolyLineNodeT |
| class | QuadNode |
| struct | enable_if |
| struct | enable_if< false, T > |
| class | MetaAction |
| class | BoundingBoxAction |
| class | FindNodeAction |
| class | CollectDrawModesAction |
| class | CollectActiveDrawModesAction |
| class | SetDrawModesAction |
| class | DrawAction |
| class | PickAction |
| class | MouseEventAction |
| class | CheckDirtyAction |
| class | SeparatorNode |
| class | ShaderNode |
| class | SliceNode |
| class | StatusNodeT |
| struct | StatusModT |
| struct | SelectionModT |
| class | SelectionNodeT |
| struct | LockModT |
| class | LockNodeT |
| class | StencilRefNode |
| class | SwitchNode |
| class | Texture3DNode |
| class | TextureNode |
| class | TrackballNode |
| class | TransformNode |
| class | TranslationManipulatorNode |
| class | TriangleNode |
| class | TriStripNodeT |
Enumerations | |
| enum | PickTarget { PICK_CELL, PICK_FACE, PICK_EDGE, PICK_VERTEX, PICK_ANYTHING, PICK_FRONT_EDGE, PICK_FRONT_VERTEX } |
What target to use for picking. More... | |
Functions | |
| const Vec4f | cylinder_color (0.8, 0.4, 0.4, 1.0) |
| const Vec4f | sphere_color (0.8, 0.4, 0.4, 1.0) |
| const Vec4f | select_color (1.0, 0.1, 0.1, 1.0) |
| BaseNode * | find_node (BaseNode *_root, unsigned int _node_idx) |
| template<typename Action > | |
| enable_if<!has_enter< Action, void(Action::*)(BaseNode *) > ::value, void >::type | if_has_enter (Action &, BaseNode *) |
| template<typename Action > | |
| enable_if<!has_enter< Action, void(Action::*)(BaseNode *) > ::value, void >::type | if_has_leave (Action &, BaseNode *) |
| template<class Action > | |
| void | traverse (BaseNode *_node, Action &_action) |
| template<class Action > | |
| void | traverse (BaseNode *_node, Action &_action, GLState &_state, unsigned int _drawmode=DrawModes::DEFAULT) |
Variables | |
| const float | SCALE_CONST = 5.0 |
|
enable_if< has_enter< Action, void(Action::*)(BaseNode *) > ::value, void >::typ | if_has_enter )(Action &_action, BaseNode *_node) |
|
enable_if< has_leave< Action, void(Action::*)(BaseNode *) > ::value, void >::typ | if_has_leave )(Action &_action, BaseNode *_node) |
| const Vec4f | colors [4][6] |
This namespace holds the ACG scene graph, all its nodes and helpers.
What target to use for picking.
Definition at line 85 of file BaseNode.hh.
Traverse scenegraph starting at _root, looking for a node whose id is _node_idx. Returns 0 if node wasn't found.
Referenced by CoreWidget::updatePopupMenu().
| void ACG::SceneGraph::traverse | ( | BaseNode * | _node, | |
| Action & | _action, | |||
| GLState & | _state, | |||
| unsigned int | _drawmode = DrawModes::DEFAULT | |||
| ) | [inline] |
Traverse the scenegraph starting at the node _node and apply the action action to each node. When arriving at a node, its BaseNode::enter() function is called, then _action is applied and the node's children are traversed. After that the BaseNode::leave() method is called.
Definition at line 228 of file SceneGraph.hh.
References traverse().
| void ACG::SceneGraph::traverse | ( | BaseNode * | _node, | |
| Action & | _action | |||
| ) | [inline] |
Traverse the scenegraph starting at the node _node and apply the action _action to each node. This traversal function will call the enter/leave functions of the action if they have been implemented.
Definition at line 133 of file SceneGraph.hh.
References ACG::SceneGraph::BaseNode::childrenBegin(), ACG::SceneGraph::BaseNode::childrenEnd(), ACG::SceneGraph::BaseNode::ChildrenFirst, ACG::SceneGraph::BaseNode::HideChildren, ACG::SceneGraph::BaseNode::HideNode, ACG::SceneGraph::BaseNode::HideSubtree, ACG::SceneGraph::BaseNode::NodeFirst, ACG::SceneGraph::BaseNode::SecondPass, ACG::SceneGraph::BaseNode::status(), and ACG::SceneGraph::BaseNode::traverseMode().
Referenced by Core::checkScenegraphDirty(), ACG::SceneGraph::BoundingBoxNode::draw(), BaseObjectData::getBoundingBox(), ACG::QtWidgets::QtBaseViewer::pick(), glViewer::pick_region(), glViewer::pickColor(), glViewer::pickGL(), ACG::QtWidgets::QtBaseViewer::sceneGraph(), glViewer::sceneGraph(), CoreWidget::slotUpdateGlobalDrawMenu(), CoreWidget::slotUpdateViewerDrawMenu(), traverse(), and ACG::SceneGraph::CoordFrameNode::update_bounding_box().
| const Vec4f ACG::SceneGraph::colors[4][6] |
{
{
Vec4f(0.2,0.2,0.2,1.0), Vec4f(0.5,0.5,0.5,1.0), Vec4f(0.8,0.8,0.8,1.0),
Vec4f(0.2,0.2,0.2,0.2), Vec4f(0.5,0.5,0.5,0.4), Vec4f(0.8,0.8,0.8,0.6)
},
{
Vec4f(0.2,0.0,0.0,1.0), Vec4f(0.5,0.0,0.0,1.0), Vec4f(0.8,0.0,0.0,1.0),
Vec4f(0.3,0.1,0.1,0.2), Vec4f(0.5,0.2,0.2,0.4), Vec4f(0.8,0.4,0.4,0.6)
},
{
Vec4f(0.0,0.2,0.0,1.0), Vec4f(0.0,0.5,0.0,1.0), Vec4f(0.0,0.8,0.0,1.0),
Vec4f(0.1,0.3,0.1,0.2), Vec4f(0.2,0.5,0.2,0.4), Vec4f(0.4,0.8,0.4,0.6)
},
{
Vec4f(0.0,0.0,0.2,1.0), Vec4f(0.0,0.0,0.5,1.0), Vec4f(0.0,0.0,0.8,1.0),
Vec4f(0.1,0.1,0.3,0.2), Vec4f(0.2,0.2,0.5,0.4), Vec4f(0.4,0.4,0.8,0.6)
}
}
Definition at line 82 of file TranslationManipulatorNode.cc.