VR-Link API Documentation for HLA 1516
 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) 2014 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 };

Document ID: Generated on Mon Apr 8 04:49:21 EDT 2019 from SVN revision 197403
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)