16 #include <boost/bind.hpp>
20 class DtSceneObjectAgent;
21 class DtBaseConnection;
23 class DtStateListener;
24 class DtVisualizerDefinition;
25 class DtVisualizerSchema;
39 AllVisualizerTypes = 0,
40 EntityVisualizerType = 1,
58 : functionalTypeName(fname)
60 , supportedVisualizerType(type)
81 virtual void createModelAgents() = 0;
84 virtual void destroyModelAgents() = 0;
88 virtual const TypeInfo& typeInfo()
const = 0;
96 void setModelDefinition(
const std::string& definition);
99 const std::string& modelDefinition()
const;
107 virtual bool setVisible(
bool visible,
int context);
110 virtual void initialize();
113 virtual bool isVisible()
const;
116 virtual void setSelected(
bool);
117 virtual bool selected()
const;
121 void setName(
const std::string&);
122 const std::string& name()
const;
125 virtual void setPickable(
bool);
126 virtual bool pickable()
const;
135 int visualizerType()
const
137 return myVisualizerType;
141 void setShowHideContext(
const std::vector<int>& s)
143 myShowHideContexts = s;
163 void setDistribute(
bool b)
165 myDistributeFlag = b;
168 bool distribute()
const
170 return myDistributeFlag;
194 const std::string& displayEngineName,
const std::string& windowName,
195 const std::string& channelName);
197 const std::string& displayEngineName,
const std::string& windowName,
198 const std::string& channelName);
199 virtual void slot_mouseDblClick(
DtMouseState& mouseState,
200 const std::string& displayEngineName,
const std::string& windowName,
201 const std::string& channelName);
207 virtual bool hide(
int context);
212 virtual bool show(
int context);
216 virtual bool supportsShowHideContext(
int)
const;
221 virtual void setModelDefinitionForAgents() = 0;
224 template <
typename T,
typename C>
225 void connectAndUpdate(boost::signal<
void (T)>& sig,
void (C::*fp)(T),T val)
227 myConnections.manageConnection(sig.connect(
boost::bind(fp,
228 static_cast<C*>(
this), _1)));
230 ((C&)(*this).*fp)(val);
296 virtual const std::string& tag() = 0;
300 template <
typename StateVisualizer>
324 return new StateVisualizer(simulation, listener, modelSet);
330 return StateVisualizer::theTypeInfo();
333 virtual const std::string&
tag()
336 const static std::string str(
"DIS");
337 #elif DtHLA_1516_EVOLVED
338 const static std::string str(
"HLA1516e");
340 const static std::string str(
"HLA1516");
342 const static std::string str(
"HLA13");
344 const static std::string str(
"");