Commit e11dfd6b authored by Jan Möbius's avatar Jan Möbius

Some documentation at traversal points to make clear why we use single pass...

Some documentation at traversal points to make clear why we use single pass traversal at these points

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@7633 383ad7c9-94d9-4d36-a494-682f7c89f535
parent bd67c94a
......@@ -448,8 +448,9 @@ bool scenegraphRegionPick( const unsigned int _examiner,
//Warning : Dont use template function as external static pointer for examiner widget is not resolved correctly!!
void traverse( ACG::SceneGraph::MouseEventAction &_action ) {
ACG::SceneGraph::traverse(sceneGraphRootNode_,
_action,viewerProperties().glState() );
// Single pass action, as the mouse action will only update the graph.
// If its changed, it will be set to dirty and an automatic redraw is triggered.
ACG::SceneGraph::traverse(sceneGraphRootNode_, _action,viewerProperties().glState() );
}
//Warning : Dont use template function as external static pointer for examiner widget is not resolved correctly!!
......@@ -460,6 +461,8 @@ void traverse( const unsigned int _examiner, ACG::SceneGraph::MouseEventAction
return;
}
// Single pass action, as the mouse action will only update the graph.
// If its changed, it will be set to dirty and an automatic redraw is triggered.
ACG::SceneGraph::traverse(sceneGraphRootNode_, _action,viewerProperties(_examiner).glState() );
}
......
......@@ -769,8 +769,11 @@ void Core::updateView() {
void Core::checkScenegraphDirty() {
if ( true )
{
// This is a single pass traversal as we only need to check if there is still one node dirty in the graph
ACG::SceneGraph::CheckDirtyAction action;
ACG::SceneGraph::traverse( root_node_scenegraph_, action );
// If the scenegraph is dirty, we have to redraw
if ( action.isDirty () )
emit updateView ();
}
......
......@@ -1140,6 +1140,8 @@ void Core::loadPlugin(QString filename, bool silent){
ft.loadFilters = filePlugin->getLoadFilters();
ft.saveFilters = filePlugin->getSaveFilters();
ft.plugin = filePlugin;
std::cerr << ft.type << std::endl;
supportedTypes_.push_back(ft);
}
......
......@@ -251,6 +251,7 @@ void BaseObjectData::manipPlaced( bool _placed ) {
void BaseObjectData::getBoundingBox(ACG::Vec3d& bbmin, ACG::Vec3d& bbmax){
// Single pass action, as the bounding box is not influenced by multipass traversal
ACG::SceneGraph::BoundingBoxAction act;
ACG::SceneGraph::traverse(separatorNode_, act);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment