VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Protected Attributes
osgEarth::CustomFeatureNode Class Reference

Custom Feature Node.

The CustomFeatureNode class is used to convey streamed features in (and out) of Vantage from the feature_custom driver. This 'Node' is attached to the osg::Group (as userData) created in the Substitute Custom Model Filter's push() method. Push() creates this group with: osg::Group* group = createDelocalizeGroup(); The DtOsgEarthStreamedFeatureManager uses DtOsgEarthFeatureDataBroker to get the sceneGraph created for a tile when it it paged in. It traverses that graph, finding any CustomFeatureNodes within, processing any marker requests it contains. The DtOsgEarthStreamedFeatureManager also connects to the CustomFeatureNode's signal_aboutToBeDeleted, which is raised in the CustomFeatureNode's destructor. Since the CustomFeatureNode is held within the sceneGraph for the tile, it is destroyed when the tile is, signalling that the features created with it should be destroyed as well. Finally, it holds a multimap which contains the information the DtOsgEarthStreamedFeatureManager to signal each feature's creator when it should be destroyed.

Inheritance diagram for osgEarth::CustomFeatureNode:
Inheritance graph
[legend]

Classes

struct  OsgEarthMarkerRequest
 

Public Types

typedef std::list
< OsgEarthMarkerRequest
MarkerRequestList
 
typedef
boost::unordered_multimap
< std::string, unsigned long
long
FeatureRegistrantToIdMap
 
typedef std::pair
< FeatureRegistrantToIdMap::iterator,
FeatureRegistrantToIdMap::iterator > 
RangeIterFeatureRegistrantToId
 
typedef std::pair
< FeatureRegistrantToIdMap::const_iterator,
FeatureRegistrantToIdMap::const_iterator > 
ConstRangeIterFeatureRegistrantToId
 

Public Member Functions

 META_Node (osgEarth, CustomFeatureNode)
 
 CustomFeatureNode ()
 
 CustomFeatureNode (const CustomFeatureNode &rhs, const osg::CopyOp &copyop)
 
virtual ~CustomFeatureNode ()
 
FeatureRegistrantToIdMapfeatureRegistrantToIdMap ()
 
const FeatureRegistrantToIdMapfeatureRegistrantToIdMap () const
 
MarkerRequestListmarkerRequestList ()
 
const MarkerRequestListmarkerRequestList () const
 
void setCheckDestructingFunction (boost::function< bool()>)
 

Public Attributes

boost::signalslib::signal
< void(CustomFeatureNode *)> 
signal_aboutToBeDeleted
 

Protected Attributes

MarkerRequestList myMarkerRequestList
 
FeatureRegistrantToIdMap myFeatureRegistrantToIdMap
 
boost::function< bool()> myCheckDestructingFunction
 

Member Typedef Documentation

Type for the Marker Request List.

typedef boost::unordered_multimap< std::string, unsigned long long > osgEarth::CustomFeatureNode::FeatureRegistrantToIdMap

Type for the multimap that store the feature ids and the names of the feature manager registrants that created them.

typedef std::pair<FeatureRegistrantToIdMap::iterator, FeatureRegistrantToIdMap::iterator> osgEarth::CustomFeatureNode::RangeIterFeatureRegistrantToId

Types for ranges within the FeatureLayerIdMap.

typedef std::pair<FeatureRegistrantToIdMap::const_iterator, FeatureRegistrantToIdMap::const_iterator> osgEarth::CustomFeatureNode::ConstRangeIterFeatureRegistrantToId

Constructor & Destructor Documentation

osgEarth::CustomFeatureNode::CustomFeatureNode ( )
osgEarth::CustomFeatureNode::CustomFeatureNode ( const CustomFeatureNode rhs,
const osg::CopyOp &  copyop 
)
virtual osgEarth::CustomFeatureNode::~CustomFeatureNode ( )
virtual

Member Function Documentation

osgEarth::CustomFeatureNode::META_Node ( osgEarth  ,
CustomFeatureNode   
)
FeatureRegistrantToIdMap& osgEarth::CustomFeatureNode::featureRegistrantToIdMap ( )
const FeatureRegistrantToIdMap& osgEarth::CustomFeatureNode::featureRegistrantToIdMap ( ) const
MarkerRequestList& osgEarth::CustomFeatureNode::markerRequestList ( )
const MarkerRequestList& osgEarth::CustomFeatureNode::markerRequestList ( ) const
void osgEarth::CustomFeatureNode::setCheckDestructingFunction ( boost::function< bool()>  )

Member Data Documentation

boost::signalslib::signal<void(CustomFeatureNode*)> osgEarth::CustomFeatureNode::signal_aboutToBeDeleted
MarkerRequestList osgEarth::CustomFeatureNode::myMarkerRequestList
protected
FeatureRegistrantToIdMap osgEarth::CustomFeatureNode::myFeatureRegistrantToIdMap
protected
boost::function<bool()> osgEarth::CustomFeatureNode::myCheckDestructingFunction
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)