VR-Link C# API Documentation
 All Classes Files Functions Variables Enumerations Enumerator Macros Pages
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"
9 #include "managedInterface/linkStrategy.h"
10 #include "managedInterface/managedInterface.h"
11 #include "managedInterface/publisherList.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;
22 class DtReflectedEntityList;
23 class DtEntityPublisher;
24 
26 {
27 public:
28  virtual ~DtEntityStateStrategy();
29 
30  std::string name();
31  static std::string theName();
32 
33  virtual bool init();
34  virtual void tick();
35  virtual void shutdown();
36 
37  static DtLinkStrategy* create(DtManagedInterface* gl);
38 
39 protected:
40  DtEntityStateStrategy(DtManagedInterface* link);
41  void handleCSharpEntityState(DtMessage* msg);
42  void handleCSharpHeartbeatRate(DtMessage* msg);
43  void handleCSharpThresholdRate(DtMessage* msg);
44  void handleCSharpReflectedHeartbeatThreshold(DtMessage* msg);
45  void handleCSharpReflectedSmoothingPeriod(DtMessage* msg);
46 
47  EntityStateMessage createStateMessage(DtReflectedEntity* ent);
48  bool isEqual(EntityStateMessage& lhs, EntityStateMessage& rhs);
49 
50  DtReflectedEntityList* myRel;
51  DtPublisherList<DtEntityPublisher>* myPubs;
52 
53  struct SeenState
54  {
55  bool seen;
56  EntityStateMessage msg;
57  };
58 
59  std::map<std::string, SeenState> myLastState;
60 
61  static std::string theStrategyName;
62 
63  DtMessageDelegate* myStateHandler;
64  DtMessageDelegate* myHeartbeatHandler;
65  DtMessageDelegate* myThresholdHandler;
66  DtMessageDelegate* myReflectedHeartbeatHandler;
67  DtMessageDelegate* myReflectedSmoothingHandler;
68 };

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)