VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrvOsg
DtSceneGraph.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2012 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvOsg/DtOsgRenderer.h
>
13
14
namespace
makVrv
15
{
20
class
DtSceneGraph
21
{
22
public
:
24
DtSceneGraph
(
DtOsgRenderer
* renderer);
25
27
virtual
~DtSceneGraph
();
28
30
virtual
void
addNodeToRoot
(osg::Node* node,
DtOsgRenderer::SceneRoot
sr,
bool
createOnAccess);
31
36
virtual
void
addRootToNode
(osg::Group* node,
DtOsgRenderer::SceneRoot
sr,
bool
createOnAccess);
37
42
virtual
void
addActiveRootToNode
(osg::Group* node,
DtOsgRenderer::SceneRoot
sr,
bool
createOnAccess);
43
45
virtual
void
removeNodeFromRoot
(osg::Node* node,
DtOsgRenderer::SceneRoot
sr);
46
51
virtual
void
removeRootFromNode
(osg::Group* node,
DtOsgRenderer::SceneRoot
sr);
52
57
virtual
void
removeActiveRootFromNode
(osg::Group* node,
DtOsgRenderer::SceneRoot
sr);
58
60
virtual
void
traverseRoot
(osg::NodeVisitor& nv,
DtOsgRenderer::SceneRoot
sr);
61
63
virtual
void
setSceneRootNodeMask
(
DtOsgRenderer::SceneRoot
sr, osg::Node::NodeMask nodeMask);
64
66
virtual
osg::Node::NodeMask
sceneRootNodeMask
(
DtOsgRenderer::SceneRoot
sr);
67
69
virtual
osg::BoundingSphere
sceneRootBound
(
DtOsgRenderer::SceneRoot
sr);
70
72
virtual
osg::BoundingSphere
sceneRootListBound
(
const
DtOsgRenderer::RootList
& srList );
73
79
virtual
osg::Group*
findSceneRootChildByName
(
80
DtOsgRenderer::SceneRoot
parent,
const
std::string& rootName );
81
83
virtual
void
setRenderRootAsSceneData
( osgViewer::View& view );
84
86
virtual
osg::Group*
createModelSetRoot
(
int
modelSet );
87
88
protected
:
89
// Used internally by the other scene root using functions to find the
90
// correct root for adding/removing children, Getting child counts, etc.
91
virtual
osg::Group*
getContainerRoot
(
DtOsgRenderer::SceneRoot
root,
bool
createOnAccess);
92
93
// Container roots may have other roots over them for doing transforms, etc.
94
// This gets the topmost root associated with that scene root, useful for
95
// traversal, nodeMask setting/getting, etc.
96
virtual
osg::Group*
getActiveRoot
(
DtOsgRenderer::SceneRoot
root);
97
98
private
:
99
DtOsgRenderer
*
myRenderer
;
100
};
101
}
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)