17 #include <vrvUtil/DtVirtualBaseClass.h>
18 #include <vrvCore/DtUniqueID.h>
19 #include <vrvCore/DtSelectionManager.h>
20 #include <vrvCore/DtStateView.h>
21 #include <vrvCore/DtEntityState.h>
26 #include <boost/signal.hpp>
33 class DtSimObjectEntry;
50 mySupportedTasks(orig.mySupportedTasks), mySupportedSets(orig.mySupportedSets)
54 std::vector<DtSimTaskMessageType> mySupportedTasks;
69 typedef std::map<int, std::vector<DtSimTaskMessageType> >
DtTaskMap;
70 typedef std::map<int, std::vector<DtSetMessageType> >
DtSetMap;
82 virtual void requestInformationFor(
const std::string& name, makVrv::DtUniqueID
id);
83 virtual void requestInformationFor(
const std::vector<std::pair<DtString, makVrv::DtUniqueID> >& names);
86 virtual void updateAvailableTaskSetInformation(
const makVrv::DtSimEntry* type);
87 virtual void updateAvailableTaskSetInformation(
const SimEntries&);
88 virtual void updateAvailableTaskSetInformation(
const std::string& name);
89 virtual void updateAvailableTaskSetInformation(makVrv::DtElementID
id);
92 virtual bool hasTaskSetInformationFor(
const makVrv::DtUniqueID&)
const;
96 virtual bool hasTaskSetInformationFor(
const std::string&)
const;
98 virtual void setSupportedTasks(
const makVrv::DtUniqueID&,
const std::vector<DtSimTaskMessageType>&,
bool signal =
true);
99 virtual void setSupportedSets(
const makVrv::DtUniqueID&,
const std::vector<DtSetMessageType>&,
bool signal =
true);
101 virtual void availableTasks(
const makVrv::DtSelectionManager::IdSet&, std::vector<int>& available);
102 virtual void availableSets(
const makVrv::DtSelectionManager::IdSet&, std::vector<int>& available);
103 virtual void available(
const makVrv::DtSelectionManager::IdSet&, std::vector<int>& available);
104 virtual std::vector<int> supportedMenuTasks()
const;
105 virtual std::vector<int> supportedMenuSets()
const;
116 virtual bool hasPendingRequests()
const;
119 virtual void clearInformationForForce(
int);
122 virtual bool isAvailableTaskMenuItem(
int)
const;
126 virtual bool isAvailableSetMenuItem(
int)
const;
129 virtual bool hasDIGuyInformationFor(
const makVrv::DtUniqueID&)
const;
132 virtual void setDIGuyAppearances(
const makVrv::DtUniqueID&,
const std::vector<DtString>&,
bool signal =
true);
133 virtual void setDIGuyAnimations(
const makVrv::DtUniqueID&,
const AlternateNamesList&,
bool signal =
true);
134 virtual void setDIGuyAppearancesAndAnimations(
const makVrv::DtUniqueID&,
138 virtual void clearAllInformation();
140 virtual DtTasksAndSets* informationFor(
const makVrv::DtUniqueID&);
143 virtual void addAvailableSet(
int menuItem,
const DtSetMessageType& setType);
147 virtual void removeAvailableSet(
int menuItem,
const DtSetMessageType& setType);
150 virtual void requestDIGuyAppearancesAndAnimations(
const std::string& name);
151 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtString>& name);
154 virtual int nextAvailableId()
const;
158 virtual void requestTaskSetInformationFor(
const std::string&);
159 virtual void requestTaskSetInformationFor(
const std::vector<DtString>&);
166 virtual void initMenuMappings();
168 virtual bool needsUpdateForForce(
const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* sv);
170 virtual bool isAvailableMenuItem(
int menu,
const DtTaskMap&)
const;
171 virtual bool isAvailableMenuItem(
int menu,
const DtSetMap& m)
const;
176 virtual void mergeMenuItems(
const std::vector<DtSimTaskMessageType>& entityItems,
const DtTaskMap& menuMap,
177 std::vector<int>& results);
179 virtual void mergeMenuItems(
const std::vector<DtSetMessageType>& entityItems,
const DtSetMap& menuMap,
180 std::vector<int>& results);
183 virtual void slot_postInitialize(makVrv::DtDe& de);
184 virtual void slot_objectRemoved(makVrv::DtSimObjectEntry&);
185 virtual void requestNextSetOfNames();