VR-Forces 4.3 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 
24 #include <vlpi/entityType.h>
25 #include <boost/signal.hpp>
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtBaseStateView;
31  class DtSimEntry;
32  class DtChannel;
33 }
34 
35 class Dt3dBoundingVolume;
36 
37 namespace makVrf
38 {
42  {
43  public:
45  virtual ~DtVrfSelectionHandler();
46 
48  static DtVrfSelectionHandler& instance(makVrv::DtDe& de);
49 
50  public:
54  virtual void currentSelectionChanged(const makVrv::DtSelectionManager::IdSet& selected);
55  boost::signal<void (const makVrv::DtSelectionManager::IdSet& selected)> signal_currentSelectionChanged;
56 
58  virtual makVrv::DtSelectionManager::IdSet convertNamesToIds(const std::vector<std::string>&) const;
59 
61  virtual std::vector<std::string> getSelectedNames() const;
62  virtual std::vector<std::string> getSelectedNames(const makVrv::DtSelectionManager::IdSet&) const;
63 
65  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries() const;
66  virtual std::vector<makVrv::DtSimEntry*> getSelectedEntries(const makVrv::DtSelectionManager::IdSet&) const;
67 
69  virtual void selectObjects(const std::vector<std::string>& names);
70 
72  virtual bool allObjectsAreVrfSimulated(const makVrv::DtSelectionManager::IdSet&) const;
73 
75  virtual bool objectIsVrfSimulated(makVrv::DtUniqueID) const;
76 
77  virtual const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* getVrlinkSimulatedState(makVrv::DtUniqueID id) const;
78 
81  virtual DtEntityType getEntityTypeFromUniqueID(makVrv::DtUniqueID id) const;
82 
87  virtual void selectItemsInScreenBox(makVrv::DtChannel& channel,
88  int minX, int minY, int maxX, int maxY, const makVrv::DtSelectionManager::IdSet& mergeWith = makVrv::DtSelectionManager::IdSet(),
89  bool requestTaskSets = true);
90 
92  virtual bool isWithinScreenBounds(makVrv::DtChannel&, const makVrv::DtUniqueID& id, const makVrv::DtVrlinkSimulatedBaseState*,
93  int minX, int minY, int maxX, int maxY) const;
94  virtual makVrv::DtUniqueID sceneObjectIdFromElementId( makVrv::DtChannel& channel, const makVrv::DtUniqueID& elementID ) const;
95 
97  virtual void setLastDatabaseLocation(const DtVector&);
98 
100  virtual const DtVector& lastDatabaseLocation() const;
101 
103  virtual void setAllowNonVrfItemsToBeManipulated(bool);
104  virtual bool allowNonVrfItemsToBeManipulated() const;
105 
109  virtual void zoomToExtents() const;
110 
112  virtual void zoomToExtents(const std::vector<makVrv::DtUniqueID>& ids) const;
113 
115  virtual void zoomToExtents(makVrv::DtUniqueID) const;
116 
118  virtual void centerOn(const std::vector<makVrv::DtUniqueID>& ids) const;
119 
121  virtual void centerOn(makVrv::DtUniqueID) const;
122 
124  virtual void zoomToBoundingVolume(const DtVector& geometricCenter, double radius) const;
125 
128  virtual void showInformationFor(makVrv::DtElementID);
129 
130  protected:
131 
132  virtual void slot_onCurrentSelectionChanged(
133  const makVrv::DtSelectionManager::IdSet& selected,
134  const makVrv::DtSelectionManager::IdSet& deselected);
135 
136  virtual void slot_onObjectEntryAdded(makVrv::DtSimObjectEntry&);
137 
140  virtual void slot_onSimStateAdded(makVrv::DtSimObjectEntry& entry);
141 
142  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
143 
144  virtual void slot_deInitialized(makVrv::DtDe&);
145 
146  public:
147  boost::signal<void (const DtVector&)> signal_lastDatabaseLocationSet;
148  boost::signal<void (makVrv::DtElementID)> signal_showInformationFor;
149 
150  protected:
157  };
158 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)