17 #include <vlutil/vlThread.h>
19 #include <vlutil/vlRunnable.h>
21 #include <boost/function.hpp>
22 #include <boost/signal.hpp>
29 class DtAsynchronousEventQueue;
30 class DtAsynchronousAgentManager;
32 class DtEntityTypeMapper;
34 class DtSelectionManager;
46 const std::string& uniqueName,
const std::string& className);
52 virtual const std::string& className()
const;
55 virtual bool observersPublished()
const;
58 virtual void setObserversPublished(
bool isPublished);
62 virtual bool overrideGlobalViewControl()
const;
66 virtual void setOverrideGlobalViewControl(
bool enabled);
71 virtual bool viewControlEnabled()
const;
75 virtual void setLocalViewControlEnabled(
bool enabled);
79 virtual bool localViewControlEnabled()
const;
83 virtual void setConnectionFrameTime(
double frameTime );
87 virtual double connectionFrameTime()
const;
95 void setUseTopoForFlatEarthVectorConversion(
bool flag );
96 bool useTopoForFlatEarthVectorConversion()
const;
100 virtual void queueDriverFunction(
const boost::function<
void ()>&
function);
103 virtual void queueConnectionFunction(
const boost::function<
void ()>&
function);
106 bool useThreadFlag()
const
108 return myUseThreadFlag;
129 virtual bool onStart();
133 virtual bool onStop();
139 void startPublishingObservers();
142 void stopPublishingObservers();
146 virtual bool onTick();
157 void setConnectionState(
bool state );
160 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
163 virtual void slot_globalViewControlEnabledSet(
bool );
168 virtual void connectToDynamicSignals();
172 virtual void disconnectFromDynamicSignals();
174 virtual void slot_onViewChanged(
177 virtual void slot_onCurrentSelectionChanged(
181 virtual void slot_onVertexSelected(
const DtUniqueID& selected,
184 virtual void slot_onVertexDeselected(
const DtUniqueID& deselected,
187 virtual void slot_onEntityInfoToggled(
192 virtual void slot_onEntityIndicatorMouseDown(
DtMouseState& mouseState,
193 const DtUniqueID&
id,
const std::string& displayEngineName,
194 const std::string& windowName,
const std::string& channelName);
196 virtual void slot_onEntityIndicatorMouseUp(
DtMouseState& mouseState,
197 const DtUniqueID&
id,
const std::string& displayEngineName,
198 const std::string& windowName,
const std::string& channelName);
200 virtual void slot_onEntityIndicatorMouseDblClick(
DtMouseState& mouseState,
201 const DtUniqueID&
id,
const std::string& displayEngineName,
202 const std::string& windowName,
const std::string& channelName);
206 virtual void slot_onTacticalGraphicIndicatorMouseDown(
208 const std::string& windowName,
209 const std::string& channelName);
211 virtual void slot_onTacticalGraphicIndicatorMouseUp(
213 const std::string& windowName,
214 const std::string& channelName);
216 virtual void slot_onTacticalGraphicIndicatorMouseDblClick(
218 const std::string& windowName,
219 const std::string& channelName);
222 virtual void slot_onCoordinateSystemChanged(
223 const std::string& coordinateSystem,
224 const std::string& coordinateParameters );
227 virtual void slot_onObserverObjectAttached(
228 const std::string& observerName,
DtUniqueID id);
231 virtual void slot_onObserverDetached(
const std::string& observerName);
234 virtual void attachObserverObject(
const std::string& observerName,
238 virtual void toggleEntitySelected(
const DtUniqueID&
id);
240 virtual void performObserverAction(
245 virtual void slot_onObserverDestroyed(
DtObserver* observer);
247 virtual void slot_onObserverCreated(
DtObserver* observer);
250 virtual void startPublishingObserver(
DtObserver* observer );
253 virtual void stopPublishingObserver(
DtObserver* observer );
256 virtual void updateObservers();
259 const DtUniqueID&
id,
const std::string& displayEngineName,
260 const std::string& windowName,
const std::string& channelName);
263 const DtUniqueID&
id,
const std::string& displayEngineName,
264 const std::string& windowName,
const std::string& channelName);
267 const DtUniqueID&
id,
const std::string& displayEngineName,
268 const std::string& windowName,
const std::string& channelName);
276 virtual void runFunctionQueue(FunctionCallQueue& queue);