MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisSimOutput.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrDisSimOutput_H_
11 #define lgrDisSimOutput_H_
12 
13 #if DtDIS
14 
15 #include <lgrSim/lgrSim.h>
16 #include <lgrCore/lgrSimOutput.h>
17 #include <map>
19 
20 #include <vl/objectId.h>
21 
22 class DtEntityPublisher;
24 class DtPdu;
25 
26 namespace MAKLogger
27 {
28 
29  class DtLgrDisSimulationManager;
30  class DtLgrDisMessageIOInfo;
31  class DtMessageIOInfo;
32  class DtConstLgrDisMessage;
33  class DtLgrPublisherInterface;
34 
37  class DT_DLL_LGRSIM DtLgrDisSimOutput : public DtLgrSimOutput
38  {
39  public:
40 
41  DT_VIRTUAL_CTR(DtLgrDisSimOutput,(DtLgrDisSimulationManager* manager))
42  DT_VIRTUAL_BASE_CTR(DtLgrSimOutput,(DtLgrDisSimulationManager* manager))
43 
44  virtual ~DtLgrDisSimOutput();
45 
46  private:
48  DtLgrDisSimOutput(const DtLgrDisSimOutput&);
50  DtLgrDisSimOutput& operator=(const DtLgrDisSimOutput&);
51  public:
52 
53 
54  virtual DtLgrSimOutput::PacketSenderType packetSenderType(const DtPacket&) const;
55 
57  virtual void disconnecting();
58 
61  virtual void activateImplementation();
62 
65  virtual void deactivateImplementation();
66 
67  virtual const DtMessageIOInfo* info() const;
68 
69  virtual void flush();
70 
72  virtual void setOutputScaling(double scaling, bool enableStatic);
73 
75  virtual double getOutputScaling();
76 
78  virtual void filterMessage(DtPacket* packet);
79 
80  virtual void removeEntity(const DtString& name);
81  virtual void removeEntity(DtPduKind kind, DtObjectId id);
82  virtual void removeEntity(DtConstLgrDisMessage&);
83 
84  protected:
85  virtual void sendPacket(const DtPacket& packet);
86 
87  virtual void parsePdu(const DtPdu* pdu) const;
88 
89  virtual void parsePacket(const DtPacket& packet);
90 
91  virtual void immediateSend(const DtPacket&) const;
92  virtual void retainedSend(const DtPacket&);
93 
94  virtual void updateEntity(DtConstLgrDisMessage&);
95 
96  virtual void rescalePublishers(double oldScale,double newScale,
97  bool wasStatic, bool isStatic);
98 
99  typedef std::pair<DtPduKind,DtObjectId> UniqueObjectId;
100 
101  typedef std::map<UniqueObjectId,DtLgrPublisherInterface*> ObjectPublisherMap;
102 
103  DtLgrDisSimulationManager* myManager;
104 
105  ObjectPublisherMap myObjectPublisherMap;
106 
108  DtLgrDisMessageIOInfo* myMessageInfo;
109 
111  double myOutputScaling;
112 
114  bool myOutputStatic;
115 
117  mutable int mySendCount;
118  };
119 
120 }
121 
122 #endif
123 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)