VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vl
diGuyCustomPduDecoder.h
Go to the documentation of this file.
1
/****************************************************************************
2
* Copyright (c) 2020 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
16
typedef
void(*
DtDIGuyPduCallbackFcn
)(
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* usr );
17
18
class
DT_DLL_VL
DtDIGuyCustomPduDecoder
:
public
DtPduDecoder
19
{
20
public
:
21
22
DtDIGuyCustomPduDecoder
();
23
virtual
~
DtDIGuyCustomPduDecoder
();
24
25
virtual
void
decode
(
DtPdu
* pdu,
DtEntityStateRepository
* stateRep );
26
virtual
DtPduDecoder
*
clone
()
const
;
27
virtual
void
clearCallbacks();
28
30
virtual
void
decode
(
DtPdu
* pdu,
DtPduFactory
* pduFactory = 0 ) {};
31
34
virtual
void
addDiGuyPduCallback(
DtDIGuyCustomPduMsgId
k,
DtDIGuyPduCallbackFcn
info );
35
virtual
void
removeDiGuyPduCallback(
DtDIGuyCustomPduMsgId
k,
const
DtDIGuyPduCallbackFcn
& info );
36
37
public
:
38
39
static
void
processDiGuyType(
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* pEsr );
40
static
void
processDiGuyAppearance(
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* pEsr );
41
static
void
processDiGuyAction(
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* pEsr );
42
static
void
processDiGuyShapeVariations(
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* pEsr );
43
static
void
processDiGuyCharacterScale(
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* pEsr );
44
45
static
void
getDiGuyType(
const
DtDIGuyCustomPdu
* pdu,
DtString
& type );
46
static
void
getDiGuyAppearance(
const
DtDIGuyCustomPdu
* pdu,
DtString
& appearance,
DtString
& headAppearance,
DtString
& itemAppearance,
float
& bodyWeight );
47
static
void
getDiGuyAction(
const
DtDIGuyCustomPdu
* pdu,
DtString
& action,
bool
& paused,
float
& speed,
short
& usePositioningFlag,
DtVector
& actionOffset );
48
static
void
getDiGuyShapeVariations(
const
DtDIGuyCustomPdu
* pdu,
DtEntityStateRepository
* pEsr );
49
static
void
getDiGuyCharacterScale(
const
DtDIGuyCustomPdu
* pdu,
DtVector
& scale );
50
51
protected
:
52
53
typedef
std::set<DtDIGuyPduCallbackFcn>
DtDIGuyPduCallbackFcnSet
;
54
typedef
std::multimap<DtDIGuyCustomPduMsgId,DtDIGuyPduCallbackFcnSet>
DtDIGuyPduCallbackFcnMap
;
55
DtDIGuyPduCallbackFcnMap
myDiGuyCbList
;
56
57
};
58
59
#endif // DtDIS
Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (
www.mak.com
)