VR-Forces 4.6 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
swingingPartActuator.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2006 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
11
#pragma once
12
13
#include "
vrfobjcore/actuatorComponent.h
"
14
#include "
vrfmodel/vrfmodelDefines.h
"
15
#include "
vrfLua/luaScriptInterfaceImpl.h
"
16
#include "
vrfmodel/bindableLuaComponent.h
"
17
18
class
DtString
;
19
class
DtSimManager
;
20
class
DtBooleanInputPort
;
21
class
DtIntegerOutputPort
;
22
class
DtSimObjectBaseObjectStateRepository;
23
class
DtSwingingPartActuatorDescriptor
;
24
class
DtSwingingPartActuatorPSR
;
25
class
DtSwingingPartActuatorAxisInfo
;
26
38
class
DT_DLL_vrfmodel
DtSwingingPartActuator
:
public
DtActuatorComponent
,
39
public
DtBindableLuaComponent
<DtSwingingPartActuator>
40
{
41
42
public
:
43
46
DtSwingingPartActuator
(
const
DtString
& name,
47
DtVrfObject
* owner,
48
DtSimManager
* simManager,
49
DtComponentDescriptor
* desc = 0,
50
DtReaderWriterRegistry
* parentRegistry = 0);
51
53
virtual
~
DtSwingingPartActuator
();
54
55
virtual
bool
init
();
56
58
virtual
bool
postAddComponentsInit
();
59
62
virtual
const
char
*
type
()
const
;
63
65
virtual
void
tick
();
66
70
static
DtSimComponent
* creator(
const
DtString
& name,
71
DtVrfObject
* owner,
72
DtSimManager
* simManager,
73
DtComponentDescriptor
* desc = 0,
74
DtReaderWriterRegistry
* parentRegistry = 0);
75
78
virtual
void
bindLuaFunctions
(lua_State* L);
79
virtual
void
bindLuaGlobals
(lua_State* L);
80
81
public
:
85
virtual
void
open();
86
89
virtual
void
reset
();
90
92
virtual
void
close();
93
95
virtual
bool
isOpened()
const
;
96
98
virtual
bool
isClosed()
const
;
100
101
protected
:
102
103
enum
DtPartState
104
{
105
State_Closed = 0,
106
State_In_Transision = 1,
107
State_Open = 2
108
};
109
111
virtual
bool
createPorts
();
112
118
virtual
DtSwingingPartActuatorPSR
* createPSR();
119
121
virtual
void
setPositionAndRate(
DtVector
newPos,
DtVector
newRate);
122
125
virtual
bool
angleWithinSlewArc(
double
angle,
const
DtSwingingPartActuatorAxisInfo
& axisInfo);
126
127
virtual
DtPartState updateAxis(
int
axisNum,
const
DtSwingingPartActuatorAxisInfo
& axisInfo,
bool
desiredOpen,
DtVector
& newPos,
DtVector
& newRate);
128
129
private
:
131
DtSwingingPartActuator
();
133
DtSwingingPartActuator
(
const
DtSwingingPartActuator
& orig);
135
const
DtSwingingPartActuator
&
operator=
(
const
136
DtSwingingPartActuator
& orig);
137
138
protected
:
139
142
146
DtIntegerOutputPort
*
myCurrentStateOutputPort
;
147
153
DtBooleanInputPort
*
myRequestedStateInputPort
;
155
157
DtArticulatedPartStateRepository
*
myArtPartStateRep
;
158
159
const
DtSwingingPartActuatorDescriptor
*
myDescriptor
;
160
163
DtSwingingPartActuatorPSR
*
myProcessState
;
164
};
Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)