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;
72 virtual void setOutputScaling(
double scaling,
bool enableStatic);
75 virtual double getOutputScaling();
78 virtual void filterMessage(DtPacket* packet);
80 virtual void removeEntity(
const DtString& name);
81 virtual void removeEntity(DtPduKind kind, DtObjectId
id);
82 virtual void removeEntity(DtConstLgrDisMessage&);
85 virtual void sendPacket(
const DtPacket& packet);
87 virtual void parsePdu(
const DtPdu* pdu)
const;
89 virtual void parsePacket(
const DtPacket& packet);
91 virtual void immediateSend(
const DtPacket&)
const;
92 virtual void retainedSend(
const DtPacket&);
94 virtual void updateEntity(DtConstLgrDisMessage&);
96 virtual void rescalePublishers(
double oldScale,
double newScale,
97 bool wasStatic,
bool isStatic);
99 typedef std::pair<DtPduKind,DtObjectId> UniqueObjectId;
101 typedef std::map<UniqueObjectId,DtLgrPublisherInterface*> ObjectPublisherMap;
103 DtLgrDisSimulationManager* myManager;
105 ObjectPublisherMap myObjectPublisherMap;
108 DtLgrDisMessageIOInfo* myMessageInfo;
111 double myOutputScaling;
117 mutable int mySendCount;