VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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>
15 
18 #include <vrvCore/DtUniqueID.h>
19 #include <vrvCore/DtSimState.h>
20 #include <vrvCore/DtEntityState.h>
22 #include <vrfutil/rwUUID.h>
23 #include <vrvCore/DtElementData.h>
25 
26 #include <vlpi/entityType.h>
27 #include <boost/signal.hpp>
28 
29 namespace makVrv
30 {
31  class DtDe;
32  class DtBaseStateView;
33  class DtSimEntry;
34  class DtChannel;
35 }
36 
37 class Dt3dBoundingVolume;
38 
39 namespace makVrf
40 {
41  class DtVrfStateViewCollectionManager;
42 
46  {
47  public:
49  virtual ~DtVrfSelectionHandler();
50 
52  static DtVrfSelectionHandler& instance(makVrv::DtDe& de);
53 
54  public:
58  virtual void currentSelectionChanged(const makVrv::DtSelectionManager::IdSet& selected);
59  boost::signal<void (const makVrv::DtSelectionManager::IdSet& selected)> signal_currentSelectionChanged;
60 
62  virtual makVrv::DtSelectionManager::IdSet convertNamesToIds(const std::vector<DtUUID>&) const;
63  virtual makVrv::DtSelectionManager::IdSet convertNamesToIds(const std::vector<std::string>&) const;
64 
66  virtual std::vector<DtUUID> getSelectedNames() const;
67  virtual std::vector<DtUUID> getSelectedNames(const makVrv::DtSelectionManager::IdSet&) const;
68 
70  virtual std::vector<std::string> getSelectedNamesAsMarkingText() const;
71  virtual std::vector<std::string> getSelectedNamesAsMarkingText(const makVrv::DtSelectionManager::IdSet&) const;
72 
74  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries() const;
75  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries(const makVrv::DtSelectionManager::IdSet&) const;
76 
78  virtual bool selectionHasExtendedKeyAndValue(const DtString& keyword, const DtString& value) const;
79 
81  virtual void selectObjects(const std::vector<DtUUID>& names);
82 
84  virtual bool allObjectsAreVrfSimulated(const makVrv::DtSelectionManager::IdSet&) const;
85 
88  virtual bool allObjectsAreInSameVrfSession(const makVrv::DtSelectionManager::IdSet&) const;
89 
91  virtual bool objectIsVrfSimulated(makVrv::DtUniqueID) const;
92 
94  virtual bool objectInSameVrfSession(makVrv::DtUniqueID) const;
95 
96  virtual const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* getVrlinkSimulatedState(makVrv::DtUniqueID id) const;
97 
100  virtual DtEntityType getEntityTypeFromUniqueID(makVrv::DtUniqueID id) const;
101 
106  virtual void selectItemsInScreenBox(makVrv::DtChannel& channel,
107  int minX, int minY, int maxX, int maxY, const makVrv::DtSelectionManager::IdSet& mergeWith = makVrv::DtSelectionManager::IdSet(),
108  bool requestTaskSets = true);
109 
111  virtual bool isWithinScreenBounds(makVrv::DtChannel&, const makVrv::DtUniqueID& id, const makVrv::DtVrlinkSimulatedBaseState*,
112  int minX, int minY, int maxX, int maxY) const;
113  virtual makVrv::DtUniqueID sceneObjectIdFromElementId( makVrv::DtChannel& channel, const makVrv::DtUniqueID& elementID ) const;
114 
116  virtual void setLastDatabaseLocation(const DtVector&);
117 
119  virtual const DtVector& lastDatabaseLocation() const;
120 
122  virtual void setAllowNonVrfItemsToBeManipulated(bool);
123  virtual bool allowNonVrfItemsToBeManipulated() const;
124 
126  virtual void setAutomaticallSelectDeselectAggregateExpansionChanges(bool);
127  virtual bool automaticallSelectDeselectAggregateExpansionChanges() const;
128 
132  virtual void zoomToExtents() const;
133 
135  virtual void zoomToExtents(const std::vector<makVrv::DtUniqueID>& ids) const;
136 
138  virtual void zoomToExtents(makVrv::DtUniqueID) const;
139 
141  virtual void centerOn(const std::vector<makVrv::DtUniqueID>& ids) const;
142 
144  virtual void centerOn(makVrv::DtUniqueID) const;
145 
147  virtual void zoomToBoundingVolume(const DtVector& geometricCenter, double radius) const;
148 
149  virtual void setBlockAggregateSelectionChanges(bool);
150  bool blockAggregateSelectionChanges() const;
151 
154  virtual void showInformationFor(makVrv::DtElementID);
155 
159  virtual void setEntityTypeBoxSelectable(const DtEntityType&, bool);
160  virtual bool entityTypeBoxSelectable(const DtEntityType&) const;
161 
162  virtual void setEntityUniqueIDBoxSelectable(makVrv::DtUniqueID, bool);
163  virtual bool entityUniqueIDBoxSelectable(makVrv::DtUniqueID) const;
165 
166  protected:
167 
169  virtual bool canBoxSelectEntity(const makVrv::DtUniqueID& id, const makVrv::DtVrlinkSimulatedBaseState* state) const;
170 
171  virtual void slot_onCurrentSelectionChanged(
172  const makVrv::DtSelectionManager::IdSet& selected,
173  const makVrv::DtSelectionManager::IdSet& deselected);
174 
175  virtual void slot_onObjectEntryAdded(makVrv::DtSimObjectEntry&);
176 
179  virtual void slot_onSimStateAdded(makVrv::DtSimObjectEntry& entry);
180 
181  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
182 
183  virtual void slot_deInitialized(makVrv::DtDe&);
184 
185  virtual void slot_onAttributesChanged( const makVrv::DtElementData::EntryAttributesList& signalList );
186 
187  virtual void completeAggregateSelectionChange(makVrv::DtSelectionManager::IdSet deselect, makVrv::DtSelectionManager::IdSet select);
188 
189  public:
190  boost::signal<void (const DtVector&)> signal_lastDatabaseLocationSet;
191  boost::signal<void (makVrv::DtElementID)> signal_showInformationFor;
192 
193  protected:
201 
202  std::set<makVrv::DtUniqueID> myEntityUniqueIDNotBoxSelectable;
203  std::vector<DtEntityType> myEntityTypeNotBoxSelectable;
204  };
205 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)