23 #include <vl/region.h>
25 class DtInteractionFactory;
26 class DtBaseEntityStateRepository;
32 class DtLgrHlaSimulationManager;
33 class DtLgrPublisherInterface;
34 class DtHLAGenericPublisher;
35 class DtLgrHlaMessageIOInfo;
36 class DtMessageIOInfo;
37 class DtLgrOnlineFomDesc;
38 class DtConstLgrHlaMessage;
47 DT_VIRTUAL_CTR(DtLgrHlaSimOutput, (DtLgrHlaSimulationManager& manager))
49 virtual ~DtLgrHlaSimOutput();
54 virtual void disconnecting();
56 virtual void activateImplementation();
57 virtual void deactivateImplementation();
62 virtual const DtMessageIOInfo* info()
const;
65 virtual void setOutputScaling(
double scaling,
bool enableStatic,
bool isPaused=
false);
72 virtual void filterMessage(DtPacket* packet);
76 virtual bool applyTrafficAnalyzerFilter(DtHLAGenericPublisher& genPub);
79 virtual void removeEntity(
const DtLgrHlaHandle handle);
83 virtual unsigned int getInteractionConveyedRegionSet(
const DtConstLgrHlaMessage& info, DtDDMRegionSet& regionSet);
87 virtual unsigned int getInteractionRegionSetFromData(
const DtConstLgrHlaMessage& info,
92 virtual unsigned int getInteractionRegionSet(
const DtConstLgrHlaMessage& info,
100 virtual bool getPublisherRegionSetFromData(
const DtPacket& info,
101 DtDDMRegionSet& regionSet);
105 virtual unsigned int getObjectConveyedRegionSet(
const DtConstLgrHlaMessage& info, DtDDMRegionSet& regionSet);
108 bool cacheInteractionRegionsEnabled()
const;
113 void setCacheInteractionRegionsEnabled(
bool val);
117 bool cacheObjectRegionsEnabled()
const;
120 void setCacheObjectRegionsEnabled(
bool val);
125 virtual void setExConnSimTime(DtTime time);
126 virtual DtTime exConnSimTime()
const;
139 static void encodeIsPartOf_RPR_20014(
const DtBaseEntityStateRepository& stateRep,
140 RTI::AttributeHandleValuePairSet* pAvList,
141 RTI::AttributeHandle attrHandle );
146 virtual void retainedSend(
const DtPacket&);
149 virtual void immediateSend(
const DtPacket&)
const;
152 const DtLgrOnlineFomDesc& fom()
const;
155 virtual void sendInteractionWithRegion(
const DtInteraction& interaction,
const DtDDMRegionSet& regionSet)
const;
158 virtual void updateEntity(
const DtPacket&);
161 virtual void removeEntity(
const DtPacket&);
167 virtual void clearPublishers();
170 virtual void getUpdates(DtMessageBuffer& stateBuffer,
const DtAbsoluteTime& time);
173 virtual DtLgrPublisherInterface* createPublisher(
const DtPacket& info);
177 virtual DtLgrPublisherInterface* doPublish(DtLgrHlaHandle loggerObjectId,
178 DtLgrHlaHandle loggerClassHandle, RTI::ObjectClassHandle classHandle,
179 const char* objName,
const DtDDMRegionSet* regionSetToUse,
bool silent);
182 virtual void printRegion(DtDDMRegionSP region)
const;
187 typedef std::map<DtString,DtLgrHlaHandle> DtObjectNameMap;
188 typedef std::map<DtLgrHlaHandle,DtLgrPublisherInterface*> DtObjectPublisherMap;
190 DtLgrHlaSimulationManager& myHlaManager;
191 DtObjectNameMap myObjectNameMap;
192 DtObjectPublisherMap myObjectPublisherMap;
193 DtLgrHlaMessageIOInfo* myMessageInfo;
194 double myPublisherScaling;
195 bool myPublisherStatic;
197 DtInteractionFactory* myFactory;
198 DtIDRegionMap myRegionHandleMap;
199 bool myCacheInteractionRegionsEnabled;
200 bool myCacheObjectRegionsEnabled;
202 std::set<DtLgrPublisherInterface*> myFilteredPublishers;
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Definition: hlaTAFilter.h:15
virtual void setOutputScaling(double scale)
Set/Get the output scaling.
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
Contains MAKLogger::DtLgrHlaMessageFactory class.
PacketSenderType
Definition: lgrSimOutput.h:72
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
Contains MAKLogger::DtLgrSimOutput subclass of MAKLogger::DtMessageOutput.