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
lookAtActuator.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2017 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
#pragma once
11
12
#include "
vrfmodel/vrfmodelDefines.h
"
13
#include "
vrfobjcore/actuatorComponent.h
"
14
#include <vl/hostStructs.h>
15
16
class
DtLookAtActuatorDescriptor
;
17
class
DtAnalogInputPort
;
18
class
DtBooleanInputPort
;
19
class
DtVectorInputPort
;
20
class
DtInputPortGroup
;
21
29
30
class
DT_DLL_vrfmodel
DtLookAtActuator
:
public
DtActuatorComponent
31
{
32
33
public
:
34
37
DtLookAtActuator
(
const
DtString
& name,
38
DtVrfObject
* owner,
39
DtSimManager
* simManager,
40
DtComponentDescriptor
* desc = 0,
41
DtReaderWriterRegistry
* parentRegistry = 0);
42
43
45
virtual
~
DtLookAtActuator
();
46
49
virtual
const
char
*
type
()
const
;
50
52
virtual
void
tick
();
53
57
static
DtSimComponent
* creator(
const
DtString
& name,
58
DtVrfObject
* owner,
59
DtSimManager
* simManager,
60
DtComponentDescriptor
* desc = 0,
61
DtReaderWriterRegistry
* parentRegistry = 0);
62
64
virtual
bool
init
();
65
66
protected
:
67
69
virtual
bool
createPortGroups
();
70
72
virtual
bool
createPorts
();
73
75
virtual
void
positionHead(
double
elevation,
double
azimuith);
76
78
virtual
void
elevateHead(
double
elevation);
79
82
virtual
void
rotateHead(
double
azimuth);
83
85
virtual
void
getElevationAndAzimuth(
double
& elevation,
double
& azimuth);
86
88
virtual
double
elevationAngleToLocalPoint(
const
DtVector
& localPoint,
bool
& failed);
89
91
virtual
double
azimuthAngleToLocalPoint(
const
DtVector
&,
bool
& failed);
92
94
virtual
void
nodHead();
95
97
virtual
void
shakeHead();
98
100
virtual
double
elevationRate();
101
103
virtual
double
azimuthRate();
104
105
protected
:
106
108
DtLookAtActuator
();
109
111
DtLookAtActuator
(
const
DtLookAtActuator
& orig);
112
114
const
DtLookAtActuator
&
operator=
(
const
DtLookAtActuator
& orig);
115
116
protected
:
117
double
myNodOrShakeDirection
;
118
DtLookAtActuatorDescriptor
*
myLookAtDescriptor
;
119
DtArtPartType
myHeadArtPart
;
120
DtArticulatedPartStateRepository
*
myHead
;
121
124
DtInputPortGroup
*
myLookAtControlPortGroup
;
125
130
DtVectorInputPort
*
myLookAtPointPort
;
131
137
DtBooleanInputPort
*
myLookAtAnglePort
;
138
143
DtAnalogInputPort
*
myLookAtAzimuthPort
;
144
149
DtAnalogInputPort
*
myLookAtElevationPort
;
150
158
DtBooleanInputPort
*
myForbidBaseRotationPort
;
159
165
DtAnalogInputPort
*
myNodOrShakePort
;
166
172
DtVectorInputPort
*
myNodOrShakeRatesPort
;
173
178
DtBooleanInputPort
*
myResetHeadPort
;
179
};
180
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
)