VR-Link API Documentation for HLA 1.3
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
strategies
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
"
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
25
class
MANAGEDINTERFACE_MODULE_DLL
DtEntityStateStrategy
:
public
DtLinkStrategy
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 Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)