VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfmodel
groundMoveToDestinationControllerComponent.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2004 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
11
12
13
#pragma once
14
15
16
#include "
vrfmodel/groundAutoControllerComponent.h
"
17
#include <matrix/vlVector.h>
18
#include "
vrfobjcore/automotivePSR.h
"
19
20
class
DtString
;
21
class
DtSimManager
;
22
class
DtSimMessage
;
23
class
DtGroundMoveToDescriptor
;
24
class
DtRangeAndDirectionNetworkSegmentMetric
;
25
class
DtCollisionInputPort
;
26
class
DtInputPortGroup
;
27
class
DtActiveBotNavInterface
;
28
37
#include "
vrfmodel/vrfmodelDefines.h
"
38
class
DT_DLL_vrfmodel
DtGroundMoveToDestinationControllerComponent
:
public
DtGroundAutoControllerComponent
39
{
40
public
:
41
44
DtGroundMoveToDestinationControllerComponent
(
const
DtString
& name,
45
DtVrfObject
* owner,
46
DtSimManager
* simManager,
47
DtComponentDescriptor
* desc = 0,
48
DtReaderWriterRegistry
* parentRegistry = 0);
49
51
virtual
~
DtGroundMoveToDestinationControllerComponent
();
52
54
virtual
bool
init
();
55
58
virtual
void
setComponentDescriptor
(
DtComponentDescriptor
*componentDescriptor);
59
65
virtual
void
tick
();
66
69
virtual
const
char
*
type
()
const
;
70
72
static
void
setLocationCallback(
DtSimMessage
* msg,
void
* usr);
75
virtual
void
processSetLocation(
DtSimMessage
* msg);
76
78
static
void
modifyVrfObjectCallback(
DtSimMessage
* msg,
void
* usr);
82
virtual
void
processModifyVrfObject(
DtSimMessage
* msg);
83
87
static
DtSimComponent
* creator(
const
DtString
& name,
88
DtVrfObject
* owner,
89
DtSimManager
* simManager,
90
DtComponentDescriptor
* desc = 0,
91
DtReaderWriterRegistry
* parentRegistry = 0);
92
94
virtual
void
registerTaskMsgCallbacks
();
95
97
virtual
void
clearTask
();
98
107
virtual
bool
getDestination(
DtVector
& destination);
108
113
virtual
const
DtVector
& destinationVector()
const
;
114
121
virtual
double
findDesiredSpeed();
122
131
virtual
double
findDesiredHeading();
132
139
virtual
DtAutoTransmissionGearEnum
determineGearSetting();
140
151
virtual
bool
nearDestination();
152
161
virtual
bool
atDestination();
162
172
virtual
bool
passedDestination();
173
175
virtual
void
stop();
176
179
virtual
void
doMoving();
180
181
virtual
void
updateTaskVisualizations
();
182
183
protected
:
187
virtual
bool
setupDestination();
188
197
virtual
void
setupDestinationVector()
const
;
198
200
virtual
void
invalidateDestinationVector()
const
;
201
203
virtual
double
desiredHeadingFromDestination(
const
DtDcm& localToTopoDcm);
204
206
virtual
void
moveToDestination();
207
virtual
double
distanceToDestination()
const
;
208
212
virtual
bool
decideToGiveUpTask
()
const
;
213
214
virtual
bool
createPortGroups
();
215
virtual
bool
createPorts
();
216
219
virtual
void
setDestinationIsInsideObstruction(
bool
yesNo);
220
223
virtual
bool
destinationIsInsideObstruction()
const
;
224
226
virtual
bool
usingNavBot();
227
229
virtual
void
useNavBotData();
230
231
virtual
void
updateNavBotDestination();
232
233
static
void
navAreaChangedCallback(
void
* usr);
234
virtual
void
processNavAreaChanged();
235
236
DtVector
localDestination()
const
;
237
238
private
:
241
DtGroundMoveToDestinationControllerComponent
();
242
244
DtGroundMoveToDestinationControllerComponent
(
const
DtGroundMoveToDestinationControllerComponent
&orig);
245
247
const
DtGroundMoveToDestinationControllerComponent
&
operator=
(
const
248
DtGroundMoveToDestinationControllerComponent
& orig);
249
250
protected
:
251
252
double
myDistanceSquared
;
253
254
DtVector
myLocalDestination
;
255
DtVector
myWorldDestination
;
256
257
mutable
DtVector
myDestinationVector
;
258
mutable
bool
myDestinationVectorIsValid
;
259
260
double
myCurrentSpeed
;
261
262
bool
myAtDestination
;
263
bool
myNearDestination
;
264
bool
myPassedDestination
;
265
266
const
DtGroundMoveToDescriptor
*
myMoveToDescriptor
;
267
270
276
DtCollisionInputPort
*
myCollisionAvoidancePort
;
277
280
DtInputPortGroup
*
myCollisionAvoidancePortGroup
;
281
283
284
DtActiveBotNavInterface
*
myNavInterface
;
285
bool
myIgnoreNavData
;
286
287
bool
myDestinationIsInsideObstruction
;
288
};
289
290
Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)