VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
diGuyCustomPduDecoder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2016 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 #if DtDIS
9 
10 #include "diGuyCustomPdu.h"
11 #include "pduDecoder.h"
12 #include "reflectedEntity.h"
13 #include "entityStateRepository.h"
14 
17 
19 {
20 public:
22  virtual ~DtDIGuyCustomPduDecoder();
23 
24  virtual void decode(DtPdu * pdu, DtEntityStateRepository* stateRep);
25  virtual DtPduDecoder* clone() const;
26  virtual void clearCallbacks();
27 
29  virtual void decode(DtPdu * pdu, DtPduFactory* pduFactory = 0) {};
30 
33  virtual void addDiGuyPduCallback(DtDIGuyCustomPduMsgId k, DtDIGuyPduCallbackFcn info);
34  virtual void removeDiGuyPduCallback(DtDIGuyCustomPduMsgId k, const DtDIGuyPduCallbackFcn& info);
35 
36 public:
37  static void processDiGuyAppearance(DtDIGuyCustomPdu* pdu, DtEntityStateRepository* pEsr);
38  static void processDiGuyType(DtDIGuyCustomPdu* pdu, DtEntityStateRepository* pEsr);
39  static void processDiGuyAction(DtDIGuyCustomPdu* pdu, DtEntityStateRepository* pEsr);
40 
41  static void getDiGuyAppearance(const DtDIGuyCustomPdu* pdu, DtString& appearance, DtString& headAppearance, DtString& itemAppearance);
42  static void getDiGuyType(const DtDIGuyCustomPdu* pdu, DtString& type);
43  static void getDiGuyAction(const DtDIGuyCustomPdu* pdu, DtString& action, bool& paused, float& speed);
44 
45 protected:
46 
47 #define DtMAX_DIGUYMSG_KINDS 50
48  std::set<DtDIGuyPduCallbackFcn> myDiGuyCbList[DtMAX_DIGUYMSG_KINDS];
49 };
50 
51 #endif //DtDIS

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)