VR-Forces 4.10 Class Documentation
 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. More...

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

Classes

struct  OsgEarthMarkerRequest
 The Filter pushes these onto the CustomFeatureNode's MarkerRequestList. More...
 

Public Types

typedef std::list
< OsgEarthMarkerRequest
MarkerRequestList
 Type for the Marker Request List. More...
 
typedef
boost::unordered_multimap
< std::string, unsigned long
long
FeatureRegistrantToIdMap
 Type for the multimap that store the feature ids and the names of the feature manager registrants that created them. More...
 
typedef std::pair
< FeatureRegistrantToIdMap::iterator,
FeatureRegistrantToIdMap::iterator > 
RangeIterFeatureRegistrantToId
 Types for ranges within the FeatureLayerIdMap. More...
 
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
 

Detailed Description

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.

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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)