MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hlaGenericPublisher.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #if DtHLA
13 
15 
16 #include <vl/objectPublisherHLA.h>
17 #include <vl/rtiCompatibility.h>
18 #include "lgrPublisherInterface.h"
19 #include <lgrUtil/absoluteTime.h>
20 
21 class DtStateRepository;
22 
23 namespace MAKLogger
24 {
25 
26  class DtLgrHlaSimulationManager;
27 
30  class DT_DLL_LGRSIM DtHLAGenericPublisher : public DtObjectPublisher ,
31  public DtLgrPublisherInterface
32  {
33  public:
34 
38  DT_VIRTUAL_CTR_DEFAULTS(DtHLAGenericPublisher,
39  (DtLgrHlaSimulationManager& simMgr,
40  DtLgrHlaHandle loggerObjectId, DtLgrHlaHandle loggerClassHandle,
41  RTI::ObjectClassHandle classHandle,
42  const char* objName, const DtDDMRegionSet* regionSetToUse,
43  double hbtime, bool waitForRegionData, bool staticRegion, bool immediatePublish),
44  (DtLgrHlaSimulationManager& simMgr,
45  DtLgrHlaHandle loggerObjectId, DtLgrHlaHandle loggerClassHandle,
46  RTI::ObjectClassHandle classHandle,
47  const char* objName, const DtDDMRegionSet* regionSetToUse,
48  double hbtime=0.0, bool waitForRegionData=false,
49  bool staticRegion=true, bool immediatePublish=true))
50 
51 
52  virtual ~DtHLAGenericPublisher();
53 
54  private:
55 
57  DtHLAGenericPublisher(const DtHLAGenericPublisher &other);
58 
60  DtHLAGenericPublisher &operator=(const DtHLAGenericPublisher &other);
61 
62  public:
63 
66  virtual DtStateRepository* genericStateRep();
67 
69  virtual DtStateRepository* gsr();
70 
72  virtual void update(const DtStateMsg& msg, const DtAbsoluteTime& updateTime,
73  bool isTimeFromPast, bool isStateUpdate, double scaling, bool isStatic, bool sendFlag=true);
74 
76  virtual DtObjectPublisher* objPublisher();
77 
79  virtual void tick(double scaling, bool isStatic);
80 
86  virtual void setPublish(bool makePublished);
87 
89  virtual bool isPublished();
90 
93  virtual void sendRequestedAttrs(double scaling, bool isStatic);
94 
96  virtual void send(const DtStateMsg& msg);
97 
100  virtual void sendUpdateAtScaleChangePoint(double oldScale, double newScale, bool wasStatic, bool isStatic);
101 
103  virtual void setRegion(const DtDDMRegionSet& region);
104 
106  virtual const DtDDMRegionSet& publishingRegions() const;
107 
109  virtual bool publishingToRegion( DtDDMRegionSP region );
110 
111  protected:
112 
114  virtual DtHlaObjectWithStateRep* pubHlaObject();
115 
117  virtual void sendTheseAttrs(const RTI::AttributeHandleSet& attrs, double scaling, bool isStatic );
118 
121  virtual bool makeObjectPublished(RTI::ObjectClassHandle classHandle, const char* objName);
122 
124  virtual void makeObjectUnpublished(RTI::ObjectClassHandle classHandle, const char* objName);
125 
126 
127  protected:
128 
130  bool myPublished;
131 
133  double myHeartbeatInterval;
134 
136  double myLastHeartbeatTime;
137 
139  RTI::AttributeHandleSet* myAttrsToSend;
140  };
141 
142 }
143 
144 #endif
#define DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME, ARG_TYPES_LIST, ARG_DEFAULTS_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME,ARG_TYPES_LIST,ARG_DEFAULTS_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types Where ARG_DEFAULTS_LIST = a list (ie in side parentheses) of comma seperated types with default values specified.
Definition: virtualConstructor.h:63
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
Contains MAKLogger::DtLgrPublisherInterface class.
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)