VR-Forces 4.2 Class Documentation
DtVrfSelectionHandler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 
17 #include <vrvUtil/DtVirtualBaseClass.h>
18 #include <vrvCore/DtSelectionManager.h>
19 #include <vrvCore/DtUniqueID.h>
20 #include <vrvCore/DtSimState.h>
21 #include <vrvCore/DtEntityState.h>
22 
23 #include <vlpi/entityType.h>
24 #include <boost/signal.hpp>
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtBaseStateView;
30  class DtSimEntry;
31  class DtChannel;
32 }
33 
34 class Dt3dBoundingVolume;
35 
36 namespace makVrf
37 {
40  class DT_DLL_VRFGUICORE DtVrfSelectionHandler : public makVrv::DtVirtualBaseClass
41  {
42  public:
43  DtVrfSelectionHandler(makVrv::DtDe&);
44  virtual ~DtVrfSelectionHandler();
45 
47  static DtVrfSelectionHandler& instance(makVrv::DtDe& de);
48 
49  public:
51  virtual void currentSelectionChanged(const makVrv::DtSelectionManager::IdSet& selected);
52  boost::signal<void (const makVrv::DtSelectionManager::IdSet& selected)> signal_currentSelectionChanged;
53 
55  virtual makVrv::DtSelectionManager::IdSet convertNamesToIds(const std::vector<std::string>&) const;
56 
58  virtual std::vector<std::string> getSelectedNames() const;
59  virtual std::vector<std::string> getSelectedNames(const makVrv::DtSelectionManager::IdSet&) const;
60 
62  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries() const;
63  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries(const makVrv::DtSelectionManager::IdSet&) const;
64 
66  virtual void selectObjects(const std::vector<std::string>& names);
67 
69  virtual bool allObjectsAreVrfSimulated(const makVrv::DtSelectionManager::IdSet&) const;
70 
72  virtual bool objectIsVrfSimulated(makVrv::DtUniqueID) const;
73 
74  virtual const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* getVrlinkSimulatedState(makVrv::DtUniqueID id) const;
75 
78  virtual DtEntityType getEntityTypeFromUniqueID(makVrv::DtUniqueID id) const;
79 
84  virtual void selectItemsInScreenBox(makVrv::DtChannel& channel,
85  int minX, int minY, int maxX, int maxY, const makVrv::DtSelectionManager::IdSet& mergeWith = makVrv::DtSelectionManager::IdSet(),
86  bool requestTaskSets = true);
87 
89  virtual bool isWithinScreenBounds(makVrv::DtChannel&, const makVrv::DtUniqueID& id, const makVrv::DtVrlinkSimulatedBaseState*,
90  int minX, int minY, int maxX, int maxY) const;
91  virtual makVrv::DtUniqueID sceneObjectIdFromElementId( makVrv::DtChannel& channel, const makVrv::DtUniqueID& elementID ) const;
92 
94  virtual void setLastDatabaseLocation(const DtVector&);
95 
97  virtual const DtVector& lastDatabaseLocation() const;
98 
100  virtual void setAllowNonVrfItemsToBeManipulated(bool);
101  virtual bool allowNonVrfItemsToBeManipulated() const;
102 
106  virtual void zoomToExtents() const;
107 
109  virtual void zoomToBoundingVolume(const DtVector& geometricCenter, double radius) const;
110 
111  protected:
112 
113  virtual void slot_onCurrentSelectionChanged(
114  const makVrv::DtSelectionManager::IdSet& selected,
115  const makVrv::DtSelectionManager::IdSet& deselected);
116 
117  virtual void slot_onObjectEntryAdded(makVrv::DtSimObjectEntry&);
118 
121  virtual void slot_onSimStateAdded(makVrv::DtSimObjectEntry& entry);
122 
123  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
124 
125  virtual void slot_deInitialized(makVrv::DtDe&);
126 
127  public:
128  boost::signal<void (const DtVector&)> signal_lastDatabaseLocationSet;
129 
130  protected:
131  makVrv::DtDe& myDe;
132  makVrv::DtSelectionManager::IdSet myLastSelection;
136  };
137 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)