VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
diGuyCustomPduEncoder.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 #ifdef DtDIS
9 
10 #include "diGuyCustomPdu.h"
11 #include "entityStateRepository.h"
12 #include "pduEncoder.h"
13 
14 #include <list>
15 
17 
19 typedef DtPdu*(*DtDIGuyEncodeFcn)(const DtEntityStateRepository& stateRep,
20  DtEntityStateRepository* asSeenByRemote,
21  DtClock* theClock, DtDIGuyCustomPduEncoder* encoder);
22 
24 {
25 public:
26  virtual DtPduEncoder* clone() const;
27 
30 
32  virtual ~DtDIGuyCustomPduEncoder();
33 
37  virtual void addDiGuyEncoder(DtDIGuyEncodeFcn info);
38  virtual void removeDiGuyEncoder(const DtDIGuyEncodeFcn& info);
39  virtual void clearEncoders();
40 
41  virtual void encodeAndSendPdus(
42  DtExerciseConn* exConn,
43  const DtEntityStateRepository& stateRep,
44  DtEntityStateRepository* asSeenByRemote);
45 
47  virtual void encode(DtPdu * pdu);
48 
49 
51  virtual void setDiGuyTypeTimeThreshold(DtTime time);
52 
54  virtual DtTime diGuyTypeTimeThreshold() const;
55 
57  virtual void setDiGuyAppearanceTimeThreshold(DtTime time);
58 
60  virtual DtTime diGuyAppearanceTimeThreshold() const;
61 
63  virtual void setDiGuyActionTimeThreshold(DtTime time);
64 
66  virtual DtTime diGuyActionTimeThreshold() const;
67 
68 protected:
69 
70  static DtPdu* encodeDiGuyActionPdu(
71  const DtEntityStateRepository& stateRep,
72  DtEntityStateRepository* asSeenByRemote,
73  DtClock* theClock, DtDIGuyCustomPduEncoder* encoder);
74 
75  static DtPdu* encodeDiGuyAppearancePdu(
76  const DtEntityStateRepository& stateRep,
77  DtEntityStateRepository* asSeenByRemote,
78  DtClock* theClock, DtDIGuyCustomPduEncoder* encoder);
79 
80  static DtPdu* encodeDiGuyTypePdu(
81  const DtEntityStateRepository& stateRep,
82  DtEntityStateRepository* asSeenByRemote,
83  DtClock* theClock, DtDIGuyCustomPduEncoder* encoder);
84 
85 
86  virtual void setDiGuyTypeUpdate(DtTime time);
87  virtual DtTime diGuyTypeUpdate() const;
88  virtual void setDiGuyAppearanceUpdate(DtTime time);
89  virtual DtTime diGuyAppearanceUpdate() const;
90  virtual void setDiGuyActionUpdate(DtTime time);
91  virtual DtTime diGuyActionUpdate() const;
92 
93 protected:
94  std::list<DtDIGuyEncodeFcn> myDiGuyCbList;
95 
102 };
103 
104 
105 #endif

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)