VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
strategies/entityState.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
8 #include "strategies/export.h"
12 #include "messages/entityState.h"
13 
14 #include <string>
15 #include <map>
16 
17 #include <matrix/vlVector.h>
18 
19 class DtMessage;
20 class DtManagedInterface;
21 class DtReflectedEntity;
23 class DtEntityPublisher;
27 
29 {
30 public:
31  virtual ~DtEntityStateStrategy();
32 
33  std::string name();
34  static std::string theName();
35 
36  virtual bool init();
37  virtual void tick();
38  virtual void shutdown();
39 
40  static DtLinkStrategy* create(DtManagedInterface* gl);
41 
42 protected:
44 
45  void handleCSharpEntityDiscovered(DtMessage* msg);
46  static void vrlEntityDiscovered(DtReflectedEntity* ent, void* usr);
47  void handleVrlEntityDiscovered(DtReflectedEntity* ent);
48 
49  void handleCSharpEntityState(DtMessage* msg);
50  static void vrlEntityState(DtReflectedEntity* ent, void* usr);
51  void handleVrlEntityState(DtReflectedEntity* ent);
52 
53  void handleCSharpEntityRemoved(DtMessage* msg);
54  static void vrlEntityRemoved(DtReflectedEntity* ent, void* usr);
55  void handleVrlEntityRemoved(DtReflectedEntity* ent);
56 
57  void handleCSharpHeartbeatRate(DtMessage* msg);
58  void handleCSharpThresholdRate(DtMessage* msg);
59  void handleCSharpReflectedHeartbeatThreshold(DtMessage* msg);
60  void handleCSharpReflectedSmoothingPeriod(DtMessage* msg);
61  void handleEntitySubscriptionChange(DtMessage* msg);
62 
63  EntityStateMessage createStateMessage(DtReflectedEntity* ent);
64  bool isEqual(EntityStateMessage& lhs, EntityStateMessage& rhs);
65 
68 
71 
72  static std::string theStrategyName;
73 
76 
85 };
Instances of DtReflectedEntity are used to represent a simulation entity reflected across a network (...
Definition: reflectedEntityHLA.h:29
DtMessageDelegate * myStateHandler
Definition: strategies/entityState.h:79
DtMessageDelegate * myReflectedHeartbeatHandler
Definition: strategies/entityState.h:82
bool myPublishInit
Definition: strategies/entityState.h:74
DtMessageDelegate * myHeartbeatHandler
Definition: strategies/entityState.h:80
DtPublisherList< DtEmitterSystemPublisher > * myEmitterPubs
Definition: strategies/entityState.h:70
#define MANAGEDINTERFACE_MODULE_DLL
Definition: export.h:34
Definition: managedInterface/messages/entityState.h:21
This is the DtMessage class.
Definition: message.h:20
DtReflectedEntityList * myRel
Definition: strategies/entityState.h:66
DtMessageDelegate * myThresholdHandler
Definition: strategies/entityState.h:81
This file declares DtVector and DtVector32.
The DtManagedInterface Class is a singleton that is used to manage the message flow between C# and th...
Definition: managedInterface.h:49
Instances of DtReflectedEmitterSystemList manage the list of of remote EmitterSystems in the exercise...
Definition: reflectedEmitterSystemListHLA.h:21
Instances of DtEntityPublisher are used for local or source simulations of entities (i...
Definition: entityPublisherHLA.h:28
Definition: strategies/entityState.h:28
DtMessageDelegate * mySubscriptionChangeHandler
Definition: strategies/entityState.h:84
Instances of DtReflectedEntityList are used to manage remote entities from the network.
Definition: reflectedEntityListHLA.h:38
bool myReflectInit
Definition: strategies/entityState.h:75
DtReflectedEmitterSystemList * myRml
Definition: strategies/entityState.h:69
DtMessageDelegate * myReflectedSmoothingHandler
Definition: strategies/entityState.h:83
DtMessageDelegate * myDiscoveredHandler
Definition: strategies/entityState.h:77
Instances of DtEmitterSystemPublisher are used for local or source simulations of emitter systems...
Definition: emitterSystemPublisherHLA.h:22
Defines the DtManagedInterface Singleton object that manages the message flow between C# and the rest...
Defines a template for maintaining a list of VR-Link Publisher objects.
Delegate template for binding static or member functions for callback at later time The return type a...
Definition: delegate.h:69
DtMessageDelegate * myRemovedHandler
Definition: strategies/entityState.h:78
static std::string theStrategyName
Definition: strategies/entityState.h:72
DtPublisherList< DtEntityPublisher > * myPubs
Definition: strategies/entityState.h:67
Instances of DtReflectedEmitterSystem represent EmitterSystem objects simulated by remote application...
Definition: reflectedEmitterSystemHLA.h:28

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)