VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CustomFeatureNode.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvUtil/signalslib.h>
12 
14 
15 #include <osg/Vec3d>
16 #include <osg/Quat>
17 #include <osg/Node>
18 #include <osg/NodeVisitor>
19 
20 #include <boost/function.hpp>
21 #include <boost/unordered_map.hpp>
22 
23 namespace osgEarth
24 {
26 
44  : public osg::Node
45  {
46  public:
47 
48  META_Node(osgEarth, CustomFeatureNode);
52  {
53  std::string strMarkerName;
54  std::string featureStyleName;
55  osg::Vec3d vPosition;
56  osg::Quat rotation;
57  double scale;
58  osg::Vec3d minBound;
59  osg::Vec3d maxBound;
60  };
61 
63  typedef std::list<OsgEarthMarkerRequest> MarkerRequestList;
64 
67  typedef boost::unordered_multimap < std::string, unsigned long long >
69 
71  typedef std::pair<FeatureRegistrantToIdMap::iterator,
72  FeatureRegistrantToIdMap::iterator> RangeIterFeatureRegistrantToId;
73  typedef std::pair<FeatureRegistrantToIdMap::const_iterator,
74  FeatureRegistrantToIdMap::const_iterator> ConstRangeIterFeatureRegistrantToId;
75 
76  public:
77 
79  CustomFeatureNode(const CustomFeatureNode & rhs, const osg::CopyOp& copyop);
80 
81 
82  virtual ~CustomFeatureNode();
83 
84  FeatureRegistrantToIdMap& featureRegistrantToIdMap();
85  const FeatureRegistrantToIdMap& featureRegistrantToIdMap() const;
86 
87  MarkerRequestList& markerRequestList();
88  const MarkerRequestList& markerRequestList() const;
89 
90  boost::signalslib::signal<void(CustomFeatureNode*)> signal_aboutToBeDeleted;
91 
92  void setCheckDestructingFunction(boost::function<bool()>);
93 
94  protected:
95 
98  boost::function<bool()> myCheckDestructingFunction;
99  };
100 } // namespace osgEarth
std::list< OsgEarthMarkerRequest > MarkerRequestList
Type for the Marker Request List.
Definition: CustomFeatureNode.h:63
osg::Quat rotation
Definition: CustomFeatureNode.h:56
osg::Vec3d maxBound
Definition: CustomFeatureNode.h:59
The Filter pushes these onto the CustomFeatureNode&#39;s MarkerRequestList.
Definition: CustomFeatureNode.h:51
osg::Vec3d vPosition
Definition: CustomFeatureNode.h:55
double scale
Definition: CustomFeatureNode.h:57
FeatureRegistrantToIdMap myFeatureRegistrantToIdMap
Definition: CustomFeatureNode.h:97
std::pair< FeatureRegistrantToIdMap::const_iterator, FeatureRegistrantToIdMap::const_iterator > ConstRangeIterFeatureRegistrantToId
Definition: CustomFeatureNode.h:74
Custom Feature Node.
Definition: CustomFeatureNode.h:43
std::string featureStyleName
Definition: CustomFeatureNode.h:54
boost::signalslib::signal< void(CustomFeatureNode *)> signal_aboutToBeDeleted
Definition: CustomFeatureNode.h:90
MarkerRequestList myMarkerRequestList
Definition: CustomFeatureNode.h:96
boost::function< bool()> myCheckDestructingFunction
Definition: CustomFeatureNode.h:98
#define OSGDB_OSGEARTH_MODEL_FEATURE_CUSTOM_EXPORT
Definition: CustomModelPrereqs.h:13
std::string strMarkerName
Definition: CustomFeatureNode.h:53
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 tha...
Definition: CustomFeatureNode.h:68
osg::Vec3d minBound
Definition: CustomFeatureNode.h:58
std::pair< FeatureRegistrantToIdMap::iterator, FeatureRegistrantToIdMap::iterator > RangeIterFeatureRegistrantToId
Types for ranges within the FeatureLayerIdMap.
Definition: CustomFeatureNode.h:72

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)