19 #include <vl/objectId.h>
29 class DtLgrDisSimulationManager;
30 class DtLgrDisMessageIOInfo;
31 class DtMessageIOInfo;
32 class DtConstLgrDisMessage;
33 class DtLgrPublisherInterface;
41 DT_VIRTUAL_CTR(DtLgrDisSimOutput,(DtLgrDisSimulationManager* manager))
44 virtual ~DtLgrDisSimOutput();
48 DtLgrDisSimOutput(
const DtLgrDisSimOutput&);
50 DtLgrDisSimOutput& operator=(
const DtLgrDisSimOutput&);
57 virtual void disconnecting();
61 virtual void activateImplementation();
65 virtual void deactivateImplementation();
67 virtual const DtMessageIOInfo* info()
const;
72 virtual void setOutputScaling(
double scaling,
bool enableStatic,
bool isPaused=
false);
79 virtual void filterMessage(DtPacket* packet);
81 virtual void removeEntity(
const DtString& name);
82 virtual void removeEntity(DtPduKind kind, DtObjectId
id);
83 virtual void removeEntity(DtConstLgrDisMessage&);
87 virtual void setExConnSimTime(DtTime time);
88 virtual DtTime exConnSimTime()
const;
100 virtual void retainedSend(
const DtPacket&);
103 virtual void immediateSend(
const DtPacket&)
const;
105 virtual void sendPacket(
const DtPacket& packet);
107 virtual void parsePdu(
const DtPdu* pdu)
const;
109 virtual void parsePacket(
const DtPacket& packet);
111 virtual void updateEntity(DtConstLgrDisMessage&);
114 virtual void clearPublishers();
117 virtual void getUpdates(DtMessageBuffer& stateBuffer,
const DtAbsoluteTime& time);
119 virtual void rescalePublishers(
double oldScale,
double newScale,
120 bool wasStatic,
bool isStatic);
122 typedef std::pair<DtPduKind,DtObjectId> UniqueObjectId;
124 typedef std::map<UniqueObjectId,DtLgrPublisherInterface*> ObjectPublisherMap;
126 DtLgrDisSimulationManager& myDisManager;
128 ObjectPublisherMap myObjectPublisherMap;
131 DtLgrDisMessageIOInfo* myMessageInfo;
140 mutable int mySendCount;