VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfmodel
humanCrosswalkController.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2016 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
9
12
13
#pragma once
14
15
#include "
vrfmodel/vrfmodelDefines.h
"
16
#include "
vrfobjcore/singleTaskControllerComponent.h
"
17
#include "
vrfobjcore/humanCrosswalkControllerPSR.h
"
18
#include <
vrfNavigation/navArea.h
>
19
20
class
DtActiveBotNavInterface
;
21
class
DtScriptedTaskTask
;
22
class
DtHumanStateRepository
;
23
class
DtHumanMovementControlOutputPortGroup
;
24
class
DtVectorOutputPort
;
25
class
DtBooleanOutputPort
;
26
class
DtHumanCrosswalkControllerDescriptor
;
27
32
class
DT_DLL_vrfmodel
DtHumanCrosswalkController
:
public
DtSingleTaskControllerComponent
33
{
34
private
:
36
DtHumanCrosswalkController
();
38
DtHumanCrosswalkController
(
const
DtHumanCrosswalkController
& orig);
40
DtHumanCrosswalkController
&
operator=
(
const
DtHumanCrosswalkController
& orig);
41
public
:
43
DtHumanCrosswalkController
(
const
DtString
& name,
DtVrfObject
* owner,
44
DtSimManager
* simManager,
DtComponentDescriptor
* desc=0,
DtReaderWriterRegistry
*parentRegistry=0);
45
47
virtual
~
DtHumanCrosswalkController
();
48
50
virtual
bool
init
();
51
53
virtual
const
char
*
type
()
const
;
54
56
virtual
void
tick
();
57
59
static
DtSimComponent
* creator(
const
DtString
& name,
DtVrfObject
* owner,
DtSimManager
* simManager,
60
DtComponentDescriptor
* desc=0,
DtReaderWriterRegistry
* parentRegistry=0);
61
62
protected
:
63
65
virtual
bool
createPortGroups
();
66
68
virtual
bool
createPorts
();
69
71
virtual
DtHumanCrosswalkControllerPSR
* createPSR();
72
73
virtual
bool
usingNavBot()
const
;
74
77
virtual
DtRoadCrossingState
upcomingCrossing(
DtNavTag
& crosswalkNavTag)
const
;
78
81
virtual
DtRoadCrossingState
currentCrossing(
DtNavTag
& crosswalkNavTag)
const
;
82
84
virtual
bool
canCross(
const
DtNavTag
& navTag)
const
;
85
87
virtual
double
getCrossingHeading(
const
DtNavTag
& navTag)
const
;
88
90
virtual
bool
isRoadNavTag(
const
DtNavTag
& navTag)
const
;
91
93
virtual
bool
isCrosswalkNavTag(
const
DtNavTag
& navTag)
const
;
94
95
virtual
void
updateTaskVisualizations
();
96
97
static
void
navigationInterfaceChanged(
DtVrfObject
*,
void
* usr);
98
virtual
void
processNavigationInterfaceChanged(
DtVrfObject
*);
99
100
protected
:
101
102
DtHumanCrosswalkControllerDescriptor
*
myHumanCrosswalkDescriptor
;
103
104
DtActiveBotNavInterface
*
myNavInterface
;
105
108
DtHumanCrosswalkControllerPSR
*
myProcessState
;
109
110
113
115
DtHumanMovementControlOutputPortGroup
*
myHumanMovementControlOutputPortGroup
;
116
122
DtBooleanOutputPort
*
myIsMovingPort
;
123
129
DtBooleanOutputPort
*
myUseCollisionAvoidancePort
;
130
132
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)