18 #include <vlutil/vlThread.h>
20 #include <vlutil/vlRunnable.h>
23 #include <boost/function.hpp>
24 #include <boost/signal.hpp>
31 class DtAsynchronousEventQueue;
32 class DtAsynchronousAgentManager;
34 class DtEntityTypeMapper;
36 class DtSelectionManager;
48 const std::string& uniqueName,
const std::string& className);
54 virtual const std::string& className()
const;
57 virtual bool observersPublished()
const;
60 virtual void setObserversPublished(
bool isPublished);
63 virtual bool viewControlEnabled()
const;
66 virtual void setViewControlEnabled(
bool enabled);
75 void setUseTopoForFlatEarthVectorConversion(
bool flag );
76 bool useTopoForFlatEarthVectorConversion()
const;
80 virtual void queueDriverFunction(
const boost::function<
void ()>&
function);
83 virtual void queueConnectionFunction(
const boost::function<
void ()>&
function);
86 bool useThreadFlag()
const
88 return myUseThreadFlag;
109 virtual bool onStart();
113 virtual bool onStop();
119 void startPublishingObservers();
122 void stopPublishingObservers();
126 virtual bool onTick();
137 void setConnectionState(
bool state );
140 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
145 virtual void connectToDynamicSignals();
149 virtual void disconnectFromDynamicSignals();
151 virtual void slot_onViewChanged(
154 virtual void slot_onCurrentSelectionChanged(
158 virtual void slot_onVertexSelected(
const DtUniqueID& selected,
161 virtual void slot_onVertexDeselected(
const DtUniqueID& deselected,
164 virtual void slot_onEntityInfoToggled(
169 virtual void slot_onEntityIndicatorMouseDown(
DtMouseState& mouseState,
170 const DtUniqueID&
id,
const std::string& displayEngineName,
171 const std::string& windowName,
const std::string& channelName);
173 virtual void slot_onEntityIndicatorMouseUp(
DtMouseState& mouseState,
174 const DtUniqueID&
id,
const std::string& displayEngineName,
175 const std::string& windowName,
const std::string& channelName);
177 virtual void slot_onEntityIndicatorMouseDblClick(
DtMouseState& mouseState,
178 const DtUniqueID&
id,
const std::string& displayEngineName,
179 const std::string& windowName,
const std::string& channelName);
183 virtual void slot_onTacticalGraphicIndicatorMouseDown(
185 const std::string& windowName,
186 const std::string& channelName);
188 virtual void slot_onTacticalGraphicIndicatorMouseUp(
190 const std::string& windowName,
191 const std::string& channelName);
193 virtual void slot_onTacticalGraphicIndicatorMouseDblClick(
195 const std::string& windowName,
196 const std::string& channelName);
199 virtual void slot_onCoordinateSystemChanged(
200 const std::string& coordinateSystem,
201 const std::string& coordinateParameters );
204 virtual void slot_onObserverObjectAttached(
205 const std::string& observerName,
DtUniqueID id);
208 virtual void slot_onObserverDetached(
const std::string& observerName);
211 virtual void attachObserverObject(
const std::string& observerName,
215 virtual void toggleEntitySelected(
const DtUniqueID&
id);
217 virtual void performObserverAction(
222 virtual void slot_onObserverDestroyed(
DtObserver* observer);
224 virtual void slot_onObserverCreated(
DtObserver* observer);
227 virtual void startPublishingObserver(
DtObserver* observer );
230 virtual void stopPublishingObserver(
DtObserver* observer );
233 virtual void updateObservers();
236 const DtUniqueID&
id,
const std::string& displayEngineName,
237 const std::string& windowName,
const std::string& channelName);
240 const DtUniqueID&
id,
const std::string& displayEngineName,
241 const std::string& windowName,
const std::string& channelName);
244 const DtUniqueID&
id,
const std::string& displayEngineName,
245 const std::string& windowName,
const std::string& channelName);
253 virtual void runFunctionQueue(FunctionCallQueue& queue);