18 #include <boost/bind.hpp>
23 class DtSceneObjectAgent;
24 class DtBaseConnection;
25 class DtStateListener;
26 class DtVisualizerDefinition;
27 class DtVisualizerSchema;
43 AllVisualizerTypes = 0,
44 EntityVisualizerType = 1,
62 : functionalTypeName(fname)
64 , supportedVisualizerType(type)
82 DtSceneObjectAgent* sceneObjectAgent,
int modelSet );
92 virtual void createModelAgents() = 0;
95 virtual void destroyModelAgents() = 0;
99 virtual const TypeInfo& typeInfo()
const = 0;
106 virtual void setSceneObjectAgent( DtSceneObjectAgent* sceneObject );
112 void setModelDefinition(
const std::string& definition);
115 const std::string& modelDefinition()
const;
122 virtual void implementVisibility(
bool visible);
125 virtual void initialize();
134 void setName(
const std::string&);
135 const std::string& name()
const;
138 virtual void setPickable(
bool);
139 virtual bool pickable()
const;
145 return mySceneObjectID;
150 return myVisualizerType;
178 myDistributeFlag = b;
183 return myDistributeFlag;
200 virtual void setModelDefinitionForAgents() = 0;
203 virtual void connectToListenerSignals();
207 virtual void makeVisible();
210 virtual bool isVisible()
const;
215 virtual void setInitialValuesFromVisualizerDefinition();
218 template <
typename T,
typename C>
221 myConnections.manageConnection(sig.connect(
boost::bind(fp,
222 static_cast<C*>(
this), _1)));
224 ((C&)(*this).*fp)(val);
289 DtStateListener& listener, DtSceneObjectAgent* sceneObjectAgent,
int modelSet )
const
300 virtual const std::string& tag() = 0;
304 template <
typename StateVisualizer>
328 return new StateVisualizer(simulation, listener, modelSet);
333 DtStateListener& listener, DtSceneObjectAgent* sceneObjectAgent,
int modelSet )
const
335 return new StateVisualizer( simulation, listener, sceneObjectAgent, modelSet );
341 return StateVisualizer::theTypeInfo();
344 virtual const std::string&
tag()
347 const static std::string str(
"DIS");
348 #elif DtHLA_1516_EVOLVED
349 const static std::string str(
"HLA1516e");
351 const static std::string str(
"HLA1516");
353 const static std::string str(
"HLA13");
355 const static std::string str(
"");
Definition: DtStateVisualizer.h:45
std::vector< DtVisualizerShowHideContext::VisualizerShowHideContext > ShowHideContextVector
Definition: DtStateVisualizer.h:259
ModelSets
Definition: DtObserverMode.h:32
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Definition: DtStateVisualizer.h:46
virtual DtStateVisualizer * create(DtBaseConnection &simulation, DtStateListener &listener, DtSceneObjectAgent *sceneObjectAgent, int modelSet) const
Create function.
Definition: DtStateVisualizer.h:288
const DtStateVisualizer::Type supportedVisualizerType
Definition: DtStateVisualizer.h:71
TypeInfo(const std::string &fname, const DtUnicode &sname, DtStateVisualizer::Type type, const DtVisualizerSchema &s)
Definition: DtStateVisualizer.h:58
int myModelSet
Definition: DtStateVisualizer.h:251
virtual void slot_setSelected(bool b)
This can be overridden by visualizers that need to be notified of selection changes; it is also used ...
Definition: DtStateVisualizer.h:130
bool myVisible
Definition: DtStateVisualizer.h:254
Contains integers that determine the context with which to show/hide a visualizer.
Abstract DtStateVisualizer creator.
Definition: DtStateVisualizer.h:266
DtSignalConnectionManager myConnections
Definition: DtStateVisualizer.h:250
Definition: DtStateVisualizer.h:305
DtUniqueID mySceneObjectID
Definition: DtStateVisualizer.h:247
DtStateListener & myListener
Definition: DtStateVisualizer.h:243
int visualizerType() const
Definition: DtStateVisualizer.h:148
DtStateVisualizer * myParent
Definition: DtStateVisualizer.h:256
Definition: DtStateVisualizer.h:49
DtStateVisualizerCreator()
CTOR.
Definition: DtStateVisualizer.h:271
virtual ~DtStateVisualizerCreatorTemplate()
DTOR.
Definition: DtStateVisualizer.h:315
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:39
std::string myName
Definition: DtStateVisualizer.h:248
Contains vrvCore::DtObserverMode class.
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
std::string myModelDefinition
Definition: DtStateVisualizer.h:249
virtual DtUniqueID sceneObjectID() const
Definition: DtStateVisualizer.h:143
bool myPickable
Definition: DtStateVisualizer.h:253
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Type
Visualizer class types that are supportable via visualizers. Each visualizer can be created by an ins...
Definition: DtStateVisualizer.h:41
virtual const DtStateVisualizer::TypeInfo & visualizerTypeInfo() const
Returns the schema of the visualizer.
Definition: DtStateVisualizer.h:339
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtBaseConnection & simulation()
Get the connection for this visualizer.
Definition: DtStateVisualizer.h:170
virtual const std::string & tag()
Returns the creator's tag.
Definition: DtStateVisualizer.h:344
virtual DtStateVisualizer * create(DtBaseConnection &simulation, DtStateListener &listener, DtSceneObjectAgent *sceneObjectAgent, int modelSet) const
Create function.
Definition: DtStateVisualizer.h:332
int myVisualizerType
Definition: DtStateVisualizer.h:252
DtStateVisualizerCreatorTemplate()
CTOR.
Definition: DtStateVisualizer.h:310
virtual DtStateVisualizerCreator * clone() const
Every derived class must override this method.
Definition: DtStateVisualizer.h:319
const DtUnicode screenName
Definition: DtStateVisualizer.h:70
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that "directs...
Definition: DtStateVisualizer.h:32
Base class to provide boost signal/slot management.
virtual ~DtStateVisualizerCreator()
DTOR.
Definition: DtStateVisualizer.h:276
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:22
const DtStateListener & listener() const
Definition: DtStateVisualizer.h:164
Contains makVrv::DtUniqueID type.
const std::string functionalTypeName
Definition: DtStateVisualizer.h:69
Definition: DtStateVisualizer.h:47
VisualizerShowHideContext
Definition: DtShowHideContext.h:39
boost::signalslib::signal< void(DtStateVisualizer *, DtStateVisualizer *, DtStateVisualizer *)> signal_reparented
Signaled when the parent of this item changes, called before destroying any model agents...
Definition: DtStateVisualizer.h:193
void setDistribute(bool b)
Whether or not to distribute over the network.
Definition: DtStateVisualizer.h:176
bool distribute() const
Definition: DtStateVisualizer.h:181
void connectAndUpdate(boost::signalslib::signal< void(T)> &sig, void(C::*fp)(T), T val)
Connect a signal and update the entity.
Definition: DtStateVisualizer.h:219
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtStateVisualizer.h:257
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:25
ShowHideContextVector myVisualizerShowHideContexts
Definition: DtStateVisualizer.h:260
bool myInitialInitializeDone
Definition: DtStateVisualizer.h:258
Definition: DtVisualizerSchema.h:19
Definition: DtStateVisualizer.h:48
const DtVisualizerSchema & schema
Definition: DtStateVisualizer.h:72
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:56
bool myDistributeFlag
Definition: DtStateVisualizer.h:245
virtual DtStateVisualizer * create(DtBaseConnection &simulation, DtStateListener &listener, int modelSet) const
Create function.
Definition: DtStateVisualizer.h:325
const DtVisualizerDefinition * myVisualizerDefinition
Definition: DtStateVisualizer.h:255
DtStateListener & listener()
Definition: DtStateVisualizer.h:159
DtBaseConnection & mySimulation
Definition: DtStateVisualizer.h:242
Contains DLL export macros.