VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtFeatureSet.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtFeature.h>
15 #include <boost/unordered_set.hpp>
16 #include <boost/unordered_map.hpp>
17 
18 namespace makVrv
19 {
20  class DtArealFeature;
21  class DtArealFeatureVisualizer;
22  class DtEdgeFeature;
23  class DtEdgeFeatureVisualizer;
24  class DtFaccCode;
25  class DtFaccInfo;
26  class DtFeatureSpecification;
27  class DtPointFeature;
28  class DtPointFeatureVisualizer;
29 
35  {
36  public:
37 
38  typedef boost::unordered_map<DtPointFeature*,DtPointFeatureVisualizer*>
40 
41  typedef boost::unordered_map<DtEdgeFeature*,DtEdgeFeatureVisualizer*>
43 
44  typedef boost::unordered_map<DtArealFeature*,DtArealFeatureVisualizer*>
46 
47  typedef boost::unordered_map<DtElementID, DtFeature*> ElementFeatureMap;
48 
50  DtFeatureSet(DtDe& de);
51 
53  virtual ~DtFeatureSet();
54 
56  void clear();
57 
59  void visualize(int modelSet);
60 
62  void unvisualize(int modelSet);
63 
65  void groundClamp();
66 
68  const PointFeatureMap& pointFeatures() const;
69 
71  const EdgeFeatureMap& linearFeatures() const;
72 
74  const ArealFeatureMap& arealFeatures() const;
75 
79  DtPointFeature* createPointFeature(DFAD::FeatureID featureId,
80  const DtFaccCode& featureCode,
81  unsigned int sourceId = 0 );
82 
85  void destroyPointFeature(DtPointFeature* feature);
86 
90  DtEdgeFeature* createEdgeFeature(DFAD::FeatureID featureId,
91  const DtFaccCode& featureCode,
92  unsigned int sourceId = 0 );
93 
96  void destroyEdgeFeature(DtEdgeFeature* feature);
97 
101  DtArealFeature* createArealFeature(DFAD::FeatureID featureId,
102  const DtFaccCode& featureCode,
103  unsigned int sourceId = 0 );
104 
107  void destroyArealFeature(DtArealFeature* feature);
108 
110  DtFeature* findFeature(DtElementID id);
111 
113  bool destroyFeature(DtElementID id);
114 
115  protected:
116 
117  void slot_onFeatureInfoChanged(const DtFaccCode& code,
118  const DtFaccInfo& info);
119 
120  void slot_selectionChanged(
121  const DtSelectionManager::IdSet& selected,
122  const DtSelectionManager::IdSet& deselected,
125 
126  protected:
127 
134  };
135 }
unsigned int FeatureID
Definition: DtFeature.h:24
The edge feature is a feature that describes a vector feature, typically several connected line segme...
Definition: DtEdgeFeature.h:23
boost::unordered_map< DtPointFeature *, DtPointFeatureVisualizer * > PointFeatureMap
Definition: DtFeatureSet.h:39
ElementFeatureMap myElementFeatureMap
Definition: DtFeatureSet.h:132
boost::unordered_map< DtElementID, DtFeature * > ElementFeatureMap
Definition: DtFeatureSet.h:47
EdgeFeatureMap myEdgeFeatures
Definition: DtFeatureSet.h:130
Contains makVrv:DtSelectionManager class.
The DtFeatureSet contains all of the features of a particular database.
Definition: DtFeatureSet.h:34
A data type which represents a FACC code.
Definition: DtFaccCode.h:22
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
Definition: DtFaccManager.h:33
Contains makVrv::DtFeature class.
Definition: DtArealFeature.h:20
The point feature is a feature that describes a single location.
Definition: DtPointFeature.h:23
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
ArealFeatureMap myArealFeatures
Definition: DtFeatureSet.h:131
DtDe & myDe
Definition: DtFeatureSet.h:128
Base class to provide boost signal/slot management.
Definition: networkElement.h:31
DtFeatureSetTemplate< DtFeature > DtFeatureSet
Definition: featureSet.h:478
boost::unordered_map< DtArealFeature *, DtArealFeatureVisualizer * > ArealFeatureMap
Definition: DtFeatureSet.h:45
SelectionType
The nature of the current selection.
Definition: DtSelectionManager.h:42
This is the base Terrain Feature class which all specific feature types extend.
Definition: DtFeature.h:35
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
PointFeatureMap myPointFeatures
Definition: DtFeatureSet.h:129
boost::unordered_map< DtEdgeFeature *, DtEdgeFeatureVisualizer * > EdgeFeatureMap
Definition: DtFeatureSet.h:42
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: networkElement.h:29
int myModelSet
Definition: DtFeatureSet.h:133
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)