VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtFeatureSet.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: $ $Revision: $ $State: $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtFeature.h>
18 #include <boost/unordered_set.hpp>
19 #include <boost/unordered_map.hpp>
20 
21 namespace makVrv
22 {
23  class DtArealFeature;
24  class DtArealFeatureVisualizer;
25  class DtEdgeFeature;
26  class DtEdgeFeatureVisualizer;
27  class DtFaccCode;
28  class DtFaccInfo;
29  class DtFeatureSpecification;
30  class DtPointFeature;
31  class DtPointFeatureVisualizer;
32 
38  {
39  public:
40 
41  typedef boost::unordered_map<DtPointFeature*,DtPointFeatureVisualizer*>
43 
44  typedef boost::unordered_map<DtEdgeFeature*,DtEdgeFeatureVisualizer*>
46 
47  typedef boost::unordered_map<DtArealFeature*,DtArealFeatureVisualizer*>
49 
50  typedef boost::unordered_map<DtElementID, DtFeature*> ElementFeatureMap;
51 
53  DtFeatureSet(DtDe& de);
54 
56  ~DtFeatureSet();
57 
59  void clear();
60 
62  void visualize(int modelSet);
63 
65  void unvisualize(int modelSet);
66 
68  void groundClamp();
69 
71  const PointFeatureMap& pointFeatures() const;
72 
74  const EdgeFeatureMap& linearFeatures() const;
75 
77  const ArealFeatureMap& arealFeatures() const;
78 
82  DtPointFeature* createPointFeature(DFAD::FeatureID featureId,
83  const DtFaccCode& featureCode,
84  unsigned int sourceId = 0 );
85 
88  void destroyPointFeature(DtPointFeature* feature);
89 
93  DtEdgeFeature* createEdgeFeature(DFAD::FeatureID featureId,
94  const DtFaccCode& featureCode,
95  unsigned int sourceId = 0 );
96 
99  void destroyEdgeFeature(DtEdgeFeature* feature);
100 
104  DtArealFeature* createArealFeature(DFAD::FeatureID featureId,
105  const DtFaccCode& featureCode,
106  unsigned int sourceId = 0 );
107 
110  void destroyArealFeature(DtArealFeature* feature);
111 
113  DtFeature* findFeature(DtElementID id);
114 
116  bool destroyFeature(DtElementID id);
117 
118  protected:
119 
120  void slot_onFeatureInfoChanged(const DtFaccCode& code,
121  const DtFaccInfo& info);
122 
123  void slot_selectionChanged(
124  const DtSelectionManager::IdSet& selected,
125  const DtSelectionManager::IdSet& deselected,
128 
129  protected:
130 
137  };
138 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)