RigsofRods
Soft-body Physics Simulation
source
main
physics
air
TurboProp.h
Go to the documentation of this file.
1
/*
2
This source file is part of Rigs of Rods
3
Copyright 2005-2012 Pierre-Michel Ricordel
4
Copyright 2007-2012 Thomas Fischer
5
6
For more information, see http://www.rigsofrods.org/
7
8
Rigs of Rods is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License version 3, as
10
published by the Free Software Foundation.
11
12
Rigs of Rods is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#pragma once
22
23
#include "
Application.h
"
24
25
#include "
AeroEngine.h
"
26
#include "
SimData.h
"
27
28
#include <Ogre.h>
29
30
namespace
RoR
{
31
34
37
38
class
Turboprop
:
public
AeroEngine
39
{
40
public
:
41
42
bool
is_piston
;
43
float
pitch
;
44
float
indicated_torque
;
45
float
max_torque
;
46
47
Turboprop
(
48
ActorPtr
a,
49
const
char
* propname,
50
NodeNum_t
nr,
51
NodeNum_t
nb,
52
NodeNum_t
np1,
53
NodeNum_t
np2,
54
NodeNum_t
np3,
55
NodeNum_t
np4,
56
NodeNum_t
tqn,
57
float
power,
58
Ogre::String
const
& propfoilname,
59
bool
disable_smoke,
60
bool
ispiston,
61
float
fpitch
62
);
63
~Turboprop
();
64
65
void
updateForces
(
float
dt,
int
doUpdate);
66
67
void
setThrottle
(
float
val);
68
69
float
getThrottle
();
70
71
void
reset
();
72
73
void
toggleReverse
();
74
void
setReverse
(
bool
val);
75
bool
getReverse
() {
return
reverse
; };
76
77
void
flipStart
();
78
79
float
getRPM
() {
return
rpm
; };
80
float
getRPMpc
() {
return
rpm
/ 10.0f; };
81
void
setRPM
(
float
_rpm);
82
float
getpropwash
() {
return
propwash
; };
83
Ogre::Vector3
getAxis
() {
return
axis
; };
84
bool
isFailed
() {
return
failed
; };
85
AeroEngineType
getType
() {
return
AeroEngineType::AE_XPROP
; };
86
bool
getIgnition
() {
return
ignition
; };
87
void
setIgnition
(
bool
val) {
ignition
= val; };
88
int
getNoderef
() {
return
noderef
; };
89
bool
getWarmup
() {
return
warmup
; };
90
float
getRadius
() {
return
radius
; };
91
92
// Visuals
93
void
updateVisuals
(
RoR::GfxActor
* gfx_actor)
override
;
94
void
setVisible
(
bool
visible)
override
;
95
96
private
:
97
98
float
torquedist
;
99
Airfoil
*
airfoil
;
100
float
fullpower
;
101
float
proparea
;
102
float
airdensity
;
103
float
timer
;
104
float
lastflip
;
105
float
warmupstart
;
106
float
warmuptime
;
107
int
numblades
;
108
float
bladewidth
;
109
float
pitchspeed
;
110
float
maxrevpitch
;
111
float
regspeed
;
112
Ogre::ParticleSystem*
smokePS
;
113
Ogre::SceneNode*
smokeNode
;
114
float
twistmap
[5];
115
double
rotenergy
;
116
float
fixed_pitch
;
117
118
bool
reverse
;
119
bool
warmup
;
120
bool
ignition
;
121
float
radius
;
122
bool
failed
;
123
bool
failedold
;
124
float
rpm
;
125
float
throtle
;
126
char
debug
[256];
127
float
propwash
;
128
Ogre::Vector3
axis
;
129
int
mod_id
;
130
int
src_id
;
131
int
thr_id
;
132
133
// Attachment
134
ActorPtr
m_actor
;
135
NodeNum_t
nodeback
;
136
NodeNum_t
noderef
;
137
NodeNum_t
nodep
[4];
138
NodeNum_t
torquenode
;
139
};
140
143
144
}
// namespace RoR
RoR::Turboprop::fullpower
float fullpower
in kW
Definition:
TurboProp.h:100
RoR::Turboprop::reset
void reset()
Definition:
TurboProp.cpp:458
RoR::Turboprop::setRPM
void setRPM(float _rpm)
Definition:
TurboProp.cpp:453
RoR::Turboprop::torquedist
float torquedist
Definition:
TurboProp.h:98
RoR::Turboprop::getType
AeroEngineType getType()
Definition:
TurboProp.h:85
RoR::Turboprop::~Turboprop
~Turboprop()
Definition:
TurboProp.cpp:152
RoR::Turboprop::torquenode
NodeNum_t torquenode
Definition:
TurboProp.h:138
RoR::Turboprop::getRPMpc
float getRPMpc()
Definition:
TurboProp.h:80
RoR::Turboprop::smokePS
Ogre::ParticleSystem * smokePS
Definition:
TurboProp.h:112
RoR::Turboprop::pitchspeed
float pitchspeed
Definition:
TurboProp.h:109
RoR::Turboprop::setReverse
void setReverse(bool val)
Definition:
TurboProp.cpp:476
RoR::Turboprop::warmuptime
float warmuptime
Definition:
TurboProp.h:106
RoR::Turboprop::pitch
float pitch
Definition:
TurboProp.h:43
RoR::AeroEngine
Definition:
AeroEngine.h:36
RoR::Turboprop::smokeNode
Ogre::SceneNode * smokeNode
Definition:
TurboProp.h:113
RoR::Turboprop::is_piston
bool is_piston
Definition:
TurboProp.h:42
RoR::Turboprop::numblades
int numblades
Definition:
TurboProp.h:107
RoR::Turboprop::getNoderef
int getNoderef()
Definition:
TurboProp.h:88
RefCountingObjectPtr< Actor >
RoR::Turboprop::flipStart
void flipStart()
Definition:
TurboProp.cpp:481
RoR::Turboprop::radius
float radius
Definition:
TurboProp.h:121
RoR::Turboprop::getRadius
float getRadius()
Definition:
TurboProp.h:90
RoR::Turboprop::indicated_torque
float indicated_torque
Definition:
TurboProp.h:44
RoR::Turboprop::debug
char debug[256]
Definition:
TurboProp.h:126
RoR::Turboprop::src_id
int src_id
Definition:
TurboProp.h:130
RoR::NodeNum_t
uint16_t NodeNum_t
Node position within Actor::ar_nodes; use RoR::NODENUM_INVALID as empty value.
Definition:
ForwardDeclarations.h:52
SimData.h
Core data structures for simulation; Everything affected by by either physics, network or user intera...
RoR::Turboprop
Definition:
TurboProp.h:38
RoR::Turboprop::ignition
bool ignition
Definition:
TurboProp.h:120
RoR::Turboprop::getThrottle
float getThrottle()
Definition:
TurboProp.cpp:448
RoR::AeroEngineType
AeroEngineType
Definition:
SimData.h:274
RoR::Turboprop::airdensity
float airdensity
Definition:
TurboProp.h:102
RoR::Turboprop::setThrottle
void setThrottle(float val)
Definition:
TurboProp.cpp:438
RoR::Turboprop::getIgnition
bool getIgnition()
Definition:
TurboProp.h:86
RoR::Turboprop::max_torque
float max_torque
Definition:
TurboProp.h:45
RoR::Turboprop::Turboprop
Turboprop(ActorPtr a, const char *propname, NodeNum_t nr, NodeNum_t nb, NodeNum_t np1, NodeNum_t np2, NodeNum_t np3, NodeNum_t np4, NodeNum_t tqn, float power, Ogre::String const &propfoilname, bool disable_smoke, bool ispiston, float fpitch)
Definition:
TurboProp.cpp:37
RoR::Turboprop::propwash
float propwash
Definition:
TurboProp.h:127
Application.h
Central state/object manager and communications hub.
RoR::Turboprop::isFailed
bool isFailed()
Definition:
TurboProp.h:84
RoR::Turboprop::thr_id
int thr_id
Definition:
TurboProp.h:131
RoR::Turboprop::setVisible
void setVisible(bool visible) override
Definition:
TurboProp.cpp:215
RoR::Turboprop::getReverse
bool getReverse()
Definition:
TurboProp.h:75
RoR::Turboprop::regspeed
float regspeed
Definition:
TurboProp.h:111
RoR::Turboprop::timer
float timer
Definition:
TurboProp.h:103
RoR::Turboprop::failedold
bool failedold
Definition:
TurboProp.h:123
RoR::Turboprop::getAxis
Ogre::Vector3 getAxis()
Definition:
TurboProp.h:83
RoR::Turboprop::bladewidth
float bladewidth
Definition:
TurboProp.h:108
RoR::Turboprop::twistmap
float twistmap[5]
Definition:
TurboProp.h:114
RoR::Turboprop::getRPM
float getRPM()
Definition:
TurboProp.h:79
RoR::Turboprop::nodeback
NodeNum_t nodeback
Definition:
TurboProp.h:135
RoR::Turboprop::rotenergy
double rotenergy
Definition:
TurboProp.h:115
RoR::Turboprop::getpropwash
float getpropwash()
Definition:
TurboProp.h:82
RoR::Turboprop::nodep
NodeNum_t nodep[4]
Definition:
TurboProp.h:137
RoR::Turboprop::m_actor
ActorPtr m_actor
Definition:
TurboProp.h:134
RoR::Turboprop::rpm
float rpm
Definition:
TurboProp.h:124
RoR::Turboprop::updateForces
void updateForces(float dt, int doUpdate)
Definition:
TurboProp.cpp:221
RoR::Turboprop::airfoil
Airfoil * airfoil
Definition:
TurboProp.h:99
RoR::Turboprop::getWarmup
bool getWarmup()
Definition:
TurboProp.h:89
RoR::Turboprop::warmupstart
float warmupstart
Definition:
TurboProp.h:105
RoR::AeroEngineType::AE_XPROP
@ AE_XPROP
RoR::Turboprop::mod_id
int mod_id
Definition:
TurboProp.h:129
RoR::Turboprop::fixed_pitch
float fixed_pitch
Definition:
TurboProp.h:116
AeroEngine.h
RoR::Airfoil
Represents an airfoil http://en.wikipedia.org/wiki/Airfoil.
Definition:
Airfoil.h:31
RoR::GfxActor
Definition:
GfxActor.h:52
RoR::Turboprop::lastflip
float lastflip
Definition:
TurboProp.h:104
RoR::Turboprop::updateVisuals
void updateVisuals(RoR::GfxActor *gfx_actor) override
Definition:
TurboProp.cpp:171
RoR::Turboprop::noderef
NodeNum_t noderef
Definition:
TurboProp.h:136
RoR::Turboprop::setIgnition
void setIgnition(bool val)
Definition:
TurboProp.h:87
RoR::Turboprop::throtle
float throtle
Definition:
TurboProp.h:125
RoR::Turboprop::reverse
bool reverse
Definition:
TurboProp.h:118
RoR::Turboprop::toggleReverse
void toggleReverse()
Definition:
TurboProp.cpp:469
RoR::Turboprop::axis
Ogre::Vector3 axis
Definition:
TurboProp.h:128
RoR::Turboprop::warmup
bool warmup
Definition:
TurboProp.h:119
RoR::Turboprop::maxrevpitch
float maxrevpitch
Definition:
TurboProp.h:110
RoR::Turboprop::failed
bool failed
Definition:
TurboProp.h:122
RoR
Definition:
AppContext.h:36
RoR::Turboprop::proparea
float proparea
Definition:
TurboProp.h:101
Generated by
1.8.17