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
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
:
86
virtual
void
open();
87
virtual
void
openWithRate(
double
rate);
88
91
virtual
void
reset
();
92
95
virtual
void
close();
96
virtual
void
closeWithRate(
double
rate);
97
99
virtual
bool
isOpened()
const
;
100
102
virtual
bool
isClosed()
const
;
104
105
protected
:
106
107
enum
DtPartState
108
{
109
State_Closed = 0,
110
State_In_Transision = 1,
111
State_Open = 2
112
};
113
115
virtual
bool
createPorts
();
116
122
virtual
DtSwingingPartActuatorPSR
* createPSR();
123
125
virtual
void
setPositionAndRate(
DtVector
newPos,
DtVector
newRate);
126
129
virtual
bool
angleWithinSlewArc(
double
angle
,
const
DtSwingingPartActuatorAxisInfo
& axisInfo);
130
131
virtual
DtPartState updateAxis(
int
axisNum,
const
DtSwingingPartActuatorAxisInfo
& axisInfo,
bool
desiredOpen,
DtVector
& newPos,
DtVector
& newRate);
132
133
private
:
135
DtSwingingPartActuator
();
137
DtSwingingPartActuator
(
const
DtSwingingPartActuator
& orig);
139
const
DtSwingingPartActuator
&
operator=
(
const
140
DtSwingingPartActuator
& orig);
141
142
protected
:
143
146
150
DtIntegerOutputPort
*
myCurrentStateOutputPort
;
151
157
DtBooleanInputPort
*
myRequestedStateInputPort
;
159
161
DtArticulatedPartStateRepository
*
myArtPartStateRep
;
162
163
const
DtSwingingPartActuatorDescriptor
*
myDescriptor
;
164
167
DtSwingingPartActuatorPSR
*
myProcessState
;
168
};
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
)