10 #ifndef lgrDisSimOutput_H_
11 #define lgrDisSimOutput_H_
20 #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;
71 virtual void setOutputScaling(
double scaling,
bool enableStatic);
74 virtual void filterMessage(DtPacket* packet);
76 virtual void removeEntity(
const DtString& name);
77 virtual void removeEntity(DtPduKind kind, DtObjectId
id);
78 virtual void removeEntity(DtConstLgrDisMessage&);
81 virtual void sendPacket(
const DtPacket& packet);
83 virtual void parsePdu(
const DtPdu* pdu)
const;
85 virtual void parsePacket(
const DtPacket& packet);
87 virtual void immediateSend(
const DtPacket&)
const;
88 virtual void retainedSend(
const DtPacket&);
90 virtual void updateEntity(DtConstLgrDisMessage&);
92 virtual void rescalePublishers(
double oldScale,
double newScale,
93 bool wasStatic,
bool isStatic);
95 typedef std::pair<DtPduKind,DtObjectId> UniqueObjectId;
97 typedef std::map<UniqueObjectId,DtLgrPublisherInterface*> ObjectPublisherMap;
99 DtLgrDisSimulationManager* myManager;
101 ObjectPublisherMap myObjectPublisherMap;
104 DtLgrDisMessageIOInfo* myMessageInfo;
107 double myOutputScaling;
113 mutable int mySendCount;