![]() |
VR-Forces 4.8 Class Documentation
|
handles the management of paged tiles and terrain patches being added to the indirect rendering system. More...

Public Types | |
| typedef std::vector < DtNodePlusTraversalInfo > | ProxyNodesArray |
Public Member Functions | |
| virtual | ~DtPagedTilesIndirectManager () |
| Destructor. More... | |
| virtual void | setName (const std::string &name) |
| mostly used for debugging sets then name on the registrar More... | |
| virtual void | nodePagedIn (const osg::Node *node, const std::string &fileName, osg::NodePath &parentalNodePath) |
| Indirect a node directly (utility function) can be used to indirect a scenegraph, so whole openflight terrains can be passed in here should only be called in the main thread NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h. More... | |
| virtual void | nodePagingOut (const osg::Node *node) |
| Let the manger know a node is paging out should only be called in the main thread' NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h. More... | |
| virtual void | addTextureLoaderToSceneGraph (osg::Group &myTerrainGroup) |
| Add a texture loader node to the scenegraph. More... | |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| Do nothing constructor. More... | |
| virtual | ~DtVirtualBaseClass () |
| Virtual do nothing destructor. More... | |
Protected Types | |
| typedef std::vector < boost::signals2::connection > | Connections |
| A collection of signals. More... | |
Protected Member Functions | |
| DtPagedTilesIndirectManager (DtDe &de, bool adjustLodStart, bool connectToPagingSignals) | |
| virtual void | slot_childLoaded (const osg::Node *child, const std::string &fileName, osg::Node *&returnedNode) |
| slot for when a paged tile is loaded (but not added to the scenegraph) called by the paged in a background thread. More... | |
| virtual void | slot_childPagedIn (const osg::Group *page, const osg::Node *child) |
| slot for when paged tile has already been paged in only called in the main thread. More... | |
| virtual void | indirectChildFromPageIn (const osg::Group *page, const osg::Node *child, const std::string &fileName, osg::NodePath &parentalNodePath) |
| used by slot_childPagedIn and nodePagedIn to indirect a scenegraph and add it to the scene called by nodePagedIn and slot_childPagedIn in the main thread More... | |
| virtual void | keyNodeGettingDeleted (const osg::Group *child, DtCellToGeoTypicalIndirectGeoMap *cellMap) |
| helper function for deleting a key node from a geo typical map More... | |
| virtual void | keyNodeGettingDeleted (const osg::Group *child, DtCellToGeoSpecificIndirectGeoMap *cellMap) |
| helper function for deleting a key node from a geo specific map More... | |
| virtual void | slot_childAboutToPageOut (const osg::Group *page, const osg::Node *child) |
| slot for when paged tile is about to page out called in the main thread just before a tile has been paged out does not update the signal count since it is only called in the main thread NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h More... | |
| virtual bool | processProxyNodes (osg::Group *indirectGroup, const osg::Group *child, std::set< osg::Node * > &foundProxyNodes, osg::NodePath &parentalNodePath) |
| process all the proxy nodes under the child group. More... | |
| virtual void | processGeodes (osg::Group *indirectGroup, osg::Group *child, const std::string &fileName, const std::set< osg::Node * > &foundProxyNodes, bool backgroundThread, osg::NodePath &parentalNodePath) |
| process all the geodes that are not under proxy nodes in the specified child. More... | |
| virtual void | replaceChildWithGroup (const osg::Group *child, const osg::Group *childReplacement) |
| replace the child with the child replacement for its first parent More... | |
| virtual void | indirectThisChild (osg::Group *intersectionGroup, osg::Group *child, const std::string &fileName, bool backgroundThread, osg::NodePath &parentalNodePath) |
| internal method which turns a child into a indirected group More... | |
| virtual void | disconnectSignalsAndWait () |
| cleanup the signals and avoid any race conditions of other threads still in the slots when disconnecting More... | |
| virtual void | printHierarchy (const osg::Node *node) const |
| utility function for printing out the hierarchy of a node More... | |
| virtual bool | removeNodesWithDofParents (ProxyNodesArray &nodesArray) const |
| utility function for removing all nodes with sequences as parents More... | |
| virtual void | removeBillboards (ProxyNodesArray &nodesArray) const |
| utility function for removing all billboard nodes More... | |
| virtual void | removeNestedProxyNodes (ProxyNodesArray &proxyNodesArray) const |
| utility function for removing all nested proxy nodes More... | |
| virtual DtIndirectModelsContainer * | GTModelsContainer () |
| utility function to get access to indirect container More... | |
Protected Attributes | |
| DtDe & | myDe |
| DtCellToGeoTypicalIndirectGeoMap * | myCellToGTIndirectGeoMap |
| DtIndirectModelsContainer * | myGTModelsContainer |
| DtCellToGeoSpecificIndirectGeoMap * | myCellToGSIndirectGeoMapTerrainSkin |
| Connections | myConnections |
| The connected signals. More... | |
| osg::ref_ptr < DtIndirectTextureLoaderNode > | myTextureLoaderNode |
| boost::mutex | mySignalMutex |
| boost::condition | mySignalConditional |
| int | mySignalWaitCount |
| bool | myAdjustLodStart |
| DtIndirectVisitorControlGroupCreator & | myIndirectGeoIntersectionGroupCreator |
Private Member Functions | |
| DtPagedTilesIndirectManager () | |
| Default Constructor not implemented – only create using creator. More... | |
| DtPagedTilesIndirectManager (const DtPagedTilesIndirectManager &other) | |
| Copy Constructor not implemented – Copy Not Allowed. More... | |
| DtPagedTilesIndirectManager & | operator= (const DtPagedTilesIndirectManager &other) |
| Assignment Operator Not implemented – Assignment Not Allowed. More... | |
Friends | |
| class | DtPagedTilesIndirectManagerCreator |
| friend class creator so that it is the only thing that will create DtPageTilesIndirectManagers More... | |
handles the management of paged tiles and terrain patches being added to the indirect rendering system.
For every terrain patch and paged tile it parses them to find any proxys or geodes and sends them off to the indirect system.
| typedef std::vector< DtNodePlusTraversalInfo > makVrv::DtPagedTilesIndirectManager::ProxyNodesArray |
|
protected |
A collection of signals.
|
protected |
|
virtual |
Destructor.
|
private |
Default Constructor not implemented – only create using creator.
|
private |
Copy Constructor not implemented – Copy Not Allowed.
|
private |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
mostly used for debugging sets then name on the registrar
|
virtual |
Indirect a node directly (utility function) can be used to indirect a scenegraph, so whole openflight terrains can be passed in here should only be called in the main thread NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h.
Reimplemented in DtDisabledIndirectManager.
|
virtual |
Let the manger know a node is paging out should only be called in the main thread' NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h.
Reimplemented in DtDisabledIndirectManager.
|
virtual |
Add a texture loader node to the scenegraph.
It processes textures and gets them to loaded (onto the GPU) should only be called by the main thread NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h
Reimplemented in DtDisabledIndirectManager.
|
protectedvirtual |
slot for when a paged tile is loaded (but not added to the scenegraph) called by the paged in a background thread.
it updates the signal count since it can be called in the background NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h
Reimplemented in DtDisabledIndirectManager.
|
protectedvirtual |
slot for when paged tile has already been paged in only called in the main thread.
Called after a tile has been added to the scenegraph does not update the signal count since it is only called in the main thread NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h
Reimplemented in DtDisabledIndirectManager.
|
protectedvirtual |
used by slot_childPagedIn and nodePagedIn to indirect a scenegraph and add it to the scene called by nodePagedIn and slot_childPagedIn in the main thread
|
protectedvirtual |
helper function for deleting a key node from a geo typical map
|
protectedvirtual |
helper function for deleting a key node from a geo specific map
|
protectedvirtual |
slot for when paged tile is about to page out called in the main thread just before a tile has been paged out does not update the signal count since it is only called in the main thread NOTE: each time the signature of this function change the same change needs to be made in JrmDisabledIndirectManager.h
Reimplemented in DtDisabledIndirectManager.
|
protectedvirtual |
process all the proxy nodes under the child group.
new indirect geometry ends up under the indirect group. Returns true if this tile can be correctly indirected and false if a condition which is incompatible with indirect rendering is found. Currently the only condition is if there is a DOF node above a proxy in the scene graph.
|
protectedvirtual |
process all the geodes that are not under proxy nodes in the specified child.
|
protectedvirtual |
replace the child with the child replacement for its first parent
|
protectedvirtual |
internal method which turns a child into a indirected group
|
protectedvirtual |
cleanup the signals and avoid any race conditions of other threads still in the slots when disconnecting
|
protectedvirtual |
utility function for printing out the hierarchy of a node
|
protectedvirtual |
utility function for removing all nodes with sequences as parents
|
protectedvirtual |
utility function for removing all billboard nodes
|
protectedvirtual |
utility function for removing all nested proxy nodes
|
protectedvirtual |
utility function to get access to indirect container
|
friend |
friend class creator so that it is the only thing that will create DtPageTilesIndirectManagers
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The connected signals.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |