VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfSelectionHandler.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 
19 #include <vrvCore/DtUniqueID.h>
20 #include <vrvCore/DtSimState.h>
21 #include <vrvCore/DtEntityState.h>
23 #include <vrfutil/rwUUID.h>
24 #include <vrvCore/DtElementData.h>
26 
27 #include <vlpi/entityType.h>
28 #include <boost/signal.hpp>
29 
30 namespace makVrv
31 {
32  class DtDe;
33  class DtBaseStateView;
34  class DtSimEntry;
35  class DtChannel;
36 }
37 
38 class Dt3dBoundingVolume;
39 
40 namespace makVrf
41 {
45  {
46  public:
48  virtual ~DtVrfSelectionHandler();
49 
51  static DtVrfSelectionHandler& instance(makVrv::DtDe& de);
52 
53  public:
57  virtual void currentSelectionChanged(const makVrv::DtSelectionManager::IdSet& selected);
58  boost::signal<void (const makVrv::DtSelectionManager::IdSet& selected)> signal_currentSelectionChanged;
59 
61  virtual makVrv::DtSelectionManager::IdSet convertNamesToIds(const std::vector<DtUUID>&) const;
62  virtual makVrv::DtSelectionManager::IdSet convertNamesToIds(const std::vector<std::string>&) const;
63 
65  virtual std::vector<DtUUID> getSelectedNames() const;
66  virtual std::vector<DtUUID> getSelectedNames(const makVrv::DtSelectionManager::IdSet&) const;
67 
69  virtual std::vector<std::string> getSelectedNamesAsMarkingText() const;
70  virtual std::vector<std::string> getSelectedNamesAsMarkingText(const makVrv::DtSelectionManager::IdSet&) const;
71 
73  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries() const;
74  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries(const makVrv::DtSelectionManager::IdSet&) const;
75 
77  virtual bool selectionHasExtendedKeyAndValue(const DtString& keyword, const DtString& value) const;
78 
80  virtual void selectObjects(const std::vector<DtUUID>& names);
81 
83  virtual bool allObjectsAreVrfSimulated(const makVrv::DtSelectionManager::IdSet&) const;
84 
86  virtual bool objectIsVrfSimulated(makVrv::DtUniqueID) const;
87 
88  virtual const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* getVrlinkSimulatedState(makVrv::DtUniqueID id) const;
89 
92  virtual DtEntityType getEntityTypeFromUniqueID(makVrv::DtUniqueID id) const;
93 
98  virtual void selectItemsInScreenBox(makVrv::DtChannel& channel,
99  int minX, int minY, int maxX, int maxY, const makVrv::DtSelectionManager::IdSet& mergeWith = makVrv::DtSelectionManager::IdSet(),
100  bool requestTaskSets = true);
101 
103  virtual bool isWithinScreenBounds(makVrv::DtChannel&, const makVrv::DtUniqueID& id, const makVrv::DtVrlinkSimulatedBaseState*,
104  int minX, int minY, int maxX, int maxY) const;
105  virtual makVrv::DtUniqueID sceneObjectIdFromElementId( makVrv::DtChannel& channel, const makVrv::DtUniqueID& elementID ) const;
106 
108  virtual void setLastDatabaseLocation(const DtVector&);
109 
111  virtual const DtVector& lastDatabaseLocation() const;
112 
114  virtual void setAllowNonVrfItemsToBeManipulated(bool);
115  virtual bool allowNonVrfItemsToBeManipulated() const;
116 
118  virtual void setAutomaticallSelectDeselectAggregateExpansionChanges(bool);
119  virtual bool automaticallSelectDeselectAggregateExpansionChanges() const;
120 
124  virtual void zoomToExtents() const;
125 
127  virtual void zoomToExtents(const std::vector<makVrv::DtUniqueID>& ids) const;
128 
130  virtual void zoomToExtents(makVrv::DtUniqueID) const;
131 
133  virtual void centerOn(const std::vector<makVrv::DtUniqueID>& ids) const;
134 
136  virtual void centerOn(makVrv::DtUniqueID) const;
137 
139  virtual void zoomToBoundingVolume(const DtVector& geometricCenter, double radius) const;
140 
141  virtual void setBlockAggregateSelectionChanges(bool);
142  bool blockAggregateSelectionChanges() const;
143 
146  virtual void showInformationFor(makVrv::DtElementID);
147 
151  virtual void setEntityTypeBoxSelectable(const DtEntityType&, bool);
152  virtual bool entityTypeBoxSelectable(const DtEntityType&) const;
153 
154  virtual void setEntityUniqueIDBoxSelectable(makVrv::DtUniqueID, bool);
155  virtual bool entityUniqueIDBoxSelectable(makVrv::DtUniqueID) const;
157 
158  protected:
159 
161  virtual bool canBoxSelectEntity(const makVrv::DtUniqueID& id, const makVrv::DtVrlinkSimulatedBaseState* state) const;
162 
163  virtual void slot_onCurrentSelectionChanged(
164  const makVrv::DtSelectionManager::IdSet& selected,
165  const makVrv::DtSelectionManager::IdSet& deselected);
166 
167  virtual void slot_onObjectEntryAdded(makVrv::DtSimObjectEntry&);
168 
171  virtual void slot_onSimStateAdded(makVrv::DtSimObjectEntry& entry);
172 
173  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
174 
175  virtual void slot_deInitialized(makVrv::DtDe&);
176 
177  virtual void slot_onAttributesChanged( const makVrv::DtElementData::EntryAttributesList& signalList );
178 
179  virtual void completeAggregateSelectionChange(makVrv::DtSelectionManager::IdSet deselect, makVrv::DtSelectionManager::IdSet select);
180 
181  public:
182  boost::signal<void (const DtVector&)> signal_lastDatabaseLocationSet;
183  boost::signal<void (makVrv::DtElementID)> signal_showInformationFor;
184 
185  protected:
193 
194  std::set<makVrv::DtUniqueID> myEntityUniqueIDNotBoxSelectable;
195  std::vector<DtEntityType> myEntityTypeNotBoxSelectable;
196  };
197 }

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)