VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfControlObjectPublisher.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
16 #include <vl/environmentProcessPublisher.h>
17 #include <vlutil/vlSmartPointers.h>
19 
20 
22 class DtEntityType;
24 
25 namespace makVrfVrlinkExtToolkit
26 {
27  class DtExtendedAttributesObjectPublisher;
28 }
29 
35 {
36 public:
37 
38  typedef DtControlObjectRepository* (*MyStateRepCreator)();
39 
50  const DtEntityType& type, DtExerciseConn* conn,
51 #if DtHLA
53 #endif
54  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId(),
55  DtRwProperties* stateProps = 0, DtRwProperties* paramProps = 0);
56 
66  const DtEntityType& type, DtExerciseConn* conn,
67 #if DtHLA
69 #endif
70  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId(),
71  const DtRwProperties& stateProps = DtRwProperties::emptyProperties(),
72  const DtRwProperties& paramProps = DtRwProperties::emptyProperties());
73 
75  virtual ~DtVrfControlObjectPublisher();
76 
81  virtual void setExtendedData(const DtString& key, const DtString& value);
82  virtual void clearExtendedData();
83  virtual void removeExtendedData(const DtString& key);
84  virtual DtString extendedData(const DtString& key) const;
86 
92  virtual void tick();
93 
97  virtual DtControlObjectRepository* controlObjectProcessStateRep();
98  virtual DtControlObjectRepository* controlObjectStateRep();
99  virtual DtControlObjectRepository* cosr();
101 
102 #ifdef DtHLA
103  virtual DtCtrlPublisherDecoder* decoder();
106 
109  virtual DtCtrlPublisherEncoder* encoder();
110 #endif
111 
114  {
115  return myPublisher->sr();
116  }
117 
118 #ifdef DtHLA
119  const DtString& name() const
121  {
122  return myPublisher->name();
123  }
124 #endif
125 
127  virtual const DtObjectId& id() const;
128 
130  virtual const DtObjectId& localId() const;
131 
133  virtual const DtGlobalObjectDesignator& globalId() const;
134 
137  virtual void forceUpdate();
138 
140  virtual DtControlObjectPublisher* controlObjectPublisher();
141 
144  virtual void setSendVrfObjectDataRecord(bool shouldSend);
145 
147  static void setInitializer(DtExtendedAttributesInitializerPtr init);
148 
150  static DtExtendedAttributesInitializerPtr initializer();
151 
152 #if DtHLA
153  static void setObjectClassChooser(DtObjectClassChooserPtr chooser);
155 
157  static DtObjectClassChooserPtr objectClassChooser();
158 #endif
159 
160 protected:
161 
167 
169  void initialize(const DtEntityType& type, DtExerciseConn* conn,
170 #if DtHLA
171  const DtGlobalObjectDesignator& glId,
172 #endif
173  const DtEntityIdentifier& entId);
174 
175 private:
176 
179 
182 
183 protected:
184 
186 
187 #if DtHLA
189 
191 #endif
192 
194 };
Contains the DtControlObjectPublisher class declaration.
static DtGlobalObjectDesignator nullId()
Definition: vrfObjectIdGenerator.h:54
This class will wrap a DtControlObjectPublisher to allow for easier creation of a publisher that is c...
Definition: vrfControlObjectPublisher.h:34
static const DtRwProperties & emptyProperties()
Contains the DtVrfObjectIdGenerator class declaration.
DtStateRepository * sr()
Returns the state repository.
Definition: vrfControlObjectPublisher.h:113
DtControlObjectRepository class extends the DtControlObjectBaseRepository to be able to handle extend...
Definition: controlObjectRepository.h:27
DtControlObjectPublisher * myPublisher
Definition: vrfControlObjectPublisher.h:185
static DtObjectClassChooserPtr theObjectClassChooser
Definition: vrfControlObjectPublisher.h:190
static DtExtendedAttributesInitializerPtr theInitializer
Definition: vrfControlObjectPublisher.h:193
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: controlObjectPublisher.h:31
makVrfVrlinkExtToolkit::DtExtendedAttributesObjectPublisher * myExtAttrPublisher
Definition: vrfControlObjectPublisher.h:188
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtBoost::shared_ptr< DtExtendedAttributesInitializer > DtExtendedAttributesInitializerPtr
Definition: extendedAttributesInitializer.h:147
A list of properties.
Definition: rwProperties.h:126
This class is used to choose the object class to publish.
Definition: objectClassChooser.h:20
DtBoost::shared_ptr< DtObjectClassChooser > DtObjectClassChooserPtr
Definition: vrfObjectClassChooser.h:43
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)