24 #include <boost/unordered_map.hpp>
28 class DtAgentManagerInterface;
29 class DtSharedSettingsManager;
30 class DtElementDefinition;
31 class DtStateListener;
32 class DtSceneObjectAgent;
33 class DtVisualizerSet;
36 namespace EntityStateListener
48 using ModelSetToSceneObjectIdMap = boost::unordered_map<DtModelSetId, DtUniqueID>;
68 virtual void visualize(
const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
71 virtual void setVisible(
bool visible );
74 virtual bool visible()
const;
93 virtual void updateElementDefinitionFromDefinitions();
97 virtual void updateElementDefinitionFromDefinitions( std::vector<DtUnicode>& definitions );
102 virtual const DtUnicode& elementDefinition()
const;
103 virtual void setElementDefinition(
const DtUnicode& definition);
106 virtual std::string displayUnitCollectionName()
const;
109 virtual void setDisplayUnitCollectionName(
const std::string& definition);
116 virtual void setDriverType(
const std::string& driverType);
131 virtual ModelSetToSceneObjectIdMap& modelSetToSceneObjectIdMap();
137 virtual void removeSceneObjectIdForModelSet(
DtModelSetId modelSet ) ;
148 virtual void reportElementCreated();
151 virtual void reportDisplayName();
154 virtual void reportConnectionObjectID();
157 virtual void reportConnectionObjectType();
160 virtual void reportOverlayNameChanged();
163 virtual void reportVisibility();
166 virtual void reportDamageStateChanged();
169 virtual void reportDriverType();
173 virtual void reportElementSubtype();
176 virtual void reportElementDefinitionName();
179 virtual void reportDisplayUnitCollectionName();
183 void slot_updateOverlayNameRaw(
const char* text);
186 void slot_updateConnectionObjectID(
const std::string&
id );
190 void slot_updateConnectionObjectType(
const std::string& type );
193 void slot_updateDisplayName(
const std::string& text);
196 void slot_updateOverlayName(
const std::string& pname);
204 virtual void getDefinitions( std::vector<DtUnicode>& definitions );
206 virtual void setModelSetEnabled(
DtModelSetId modelSet,
bool enabled ) = 0;
210 virtual bool distribute()
const;
211 virtual void setDistribute(
const bool distribute );
217 virtual void warnVisualizationFailed(
const std::string& file,
int line,
const std::string&
function,
273 virtual const std::string& tag() = 0;
276 template<
typename ElementTemplateType>
300 return new ElementTemplateType( simulation, listener );
305 return ElementTemplateType::theElementType();
308 virtual const std::string&
tag()
311 const static std::string str(
"DIS");
313 const static std::string str(
"HLA4");
314 #elif DtHLA_1516_EVOLVED
315 const static std::string str(
"HLA1516e" );
317 const static std::string str(
"HLA1516" );
319 const static std::string str(
"HLA13" );
321 const static std::string str(
"" );