VR-Forces 5.0.2 Developer's Guide
 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) 2022 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  class DtCoordinateSystem;
30 
36  {
37  public:
38 
39  typedef boost::unordered_map<DtPointFeature*,DtPointFeatureVisualizer*>
41 
42  typedef boost::unordered_map<DtEdgeFeature*,DtEdgeFeatureVisualizer*>
44 
45  typedef boost::unordered_map<DtArealFeature*,DtArealFeatureVisualizer*>
47 
48  typedef boost::unordered_map<DtElementID, DtFeature*> ElementFeatureMap;
49 
51  DtFeatureSet(DtDe& de);
52 
54  virtual ~DtFeatureSet();
55 
57  void clear();
58 
60  void visualize(int modelSet);
61 
63  void unvisualize(int modelSet);
64 
66  void groundClamp();
67 
69  const PointFeatureMap& pointFeatures() const;
70 
72  const EdgeFeatureMap& linearFeatures() const;
73 
75  const ArealFeatureMap& arealFeatures() const;
76 
80  DtPointFeature* createPointFeature(DFAD::FeatureID featureId,
81  const DtFaccCode& featureCode,
82  unsigned int sourceId = 0 );
83 
86  void destroyPointFeature(DtPointFeature* feature);
87 
91  DtEdgeFeature* createEdgeFeature(DFAD::FeatureID featureId,
92  const DtFaccCode& featureCode,
93  unsigned int sourceId = 0 );
94 
97  void destroyEdgeFeature(DtEdgeFeature* feature);
98 
102  DtArealFeature* createArealFeature(DFAD::FeatureID featureId,
103  const DtFaccCode& featureCode,
104  unsigned int sourceId = 0 );
105 
108  void destroyArealFeature(DtArealFeature* feature);
109 
111  DtFeature* findFeature(DtElementID id);
112 
114  bool destroyFeature(DtElementID id);
115 
116  protected:
117 
118  void slot_onFeatureInfoChanged(const DtFaccCode& code,
119  const DtFaccInfo& info);
120 
121  void slot_selectionChanged(
122  const DtSelectionManager::IdSet& selected,
123  const DtSelectionManager::IdSet& deselected,
126 
128  virtual void slot_coordinateSystemChanged();
129 
130  protected:
131 
138 
141  DtCoordinateSystem* myCoordinateSystem = nullptr;
142 
143  };
144 }
unsigned int FeatureID
Definition: DtFeature.h:21
The edge feature is a feature that describes a vector feature, typically several connected line segme...
Definition: DtEdgeFeature.h:20
boost::unordered_map< DtPointFeature *, DtPointFeatureVisualizer * > PointFeatureMap
Definition: DtFeatureSet.h:40
ElementFeatureMap myElementFeatureMap
Definition: DtFeatureSet.h:136
boost::unordered_map< DtElementID, DtFeature * > ElementFeatureMap
Definition: DtFeatureSet.h:48
EdgeFeatureMap myEdgeFeatures
Definition: DtFeatureSet.h:134
Contains makVrv:DtSelectionManager class.
The DtFeatureSet contains all of the features of a particular database. These features include point...
Definition: DtFeatureSet.h:35
A data type which represents a FACC code.
Definition: DtFaccCode.h:19
Definition: DtFaccManager.h:30
Contains makVrv::DtFeature class.
Definition: DtArealFeature.h:17
The point feature is a feature that describes a single location. Typically an object at that location...
Definition: DtPointFeature.h:20
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
ArealFeatureMap myArealFeatures
Definition: DtFeatureSet.h:135
DtDe & myDe
Definition: DtFeatureSet.h:132
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
Base class to provide boost signal/slot management.
Definition: networkElement.h:31
DtFeatureSetTemplate< DtFeature > DtFeatureSet
Definition: featureSet.h:480
boost::unordered_map< DtArealFeature *, DtArealFeatureVisualizer * > ArealFeatureMap
Definition: DtFeatureSet.h:46
SelectionType
The nature of the current selection.
Definition: DtSelectionManager.h:42
This is the base Terrain Feature class which all specific feature types extend. This feature has a po...
Definition: DtFeature.h:32
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
PointFeatureMap myPointFeatures
Definition: DtFeatureSet.h:133
boost::unordered_map< DtEdgeFeature *, DtEdgeFeatureVisualizer * > EdgeFeatureMap
Definition: DtFeatureSet.h:43
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: networkElement.h:29
int myModelSet
Definition: DtFeatureSet.h:137
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)