RigsofRods
Soft-body Physics Simulation
AeroEngine.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 #include "SimData.h"
25 
26 #include <Ogre.h>
27 
28 namespace RoR {
29 
32 
35 
37 {
38 public:
39  virtual ~AeroEngine() {}
40 
41  virtual void updateForces(float dt, int doUpdate) =0;
42 
43  virtual void setThrottle(float val) =0;
44 
45  virtual float getThrottle() =0;
46 
47  virtual void reset() =0;
48 
49  virtual void toggleReverse() =0;
50 
51  virtual void setReverse(bool val) =0;
52  virtual bool getReverse() =0;
53 
54  virtual void flipStart() =0;
55 
56  virtual float getRPMpc() =0;
57  virtual float getRPM() =0;
58  virtual void setRPM(float _rpm) =0;
59  virtual float getpropwash() =0;
60  virtual Ogre::Vector3 getAxis() =0;
61  virtual bool isFailed() =0;
62  virtual AeroEngineType getType() =0;
63  virtual bool getIgnition() =0;
64  virtual void setIgnition(bool val) =0;
65  virtual int getNoderef() =0;
66  virtual bool getWarmup() =0;
67  virtual float getRadius() =0;
68 
69  // Visuals
70  virtual void updateVisuals(RoR::GfxActor* gfx_actor) = 0;
71  virtual void setVisible(bool visible) = 0;
72 };
73 
76 
77 } // namespace RoR
RoR::AeroEngine::isFailed
virtual bool isFailed()=0
RoR::AeroEngine::getRPM
virtual float getRPM()=0
RoR::AeroEngine
Definition: AeroEngine.h:36
RoR::AeroEngine::setReverse
virtual void setReverse(bool val)=0
RoR::AeroEngine::toggleReverse
virtual void toggleReverse()=0
RoR::AeroEngine::updateForces
virtual void updateForces(float dt, int doUpdate)=0
RoR::AeroEngine::flipStart
virtual void flipStart()=0
RoR::AeroEngine::getWarmup
virtual bool getWarmup()=0
RoR::AeroEngine::updateVisuals
virtual void updateVisuals(RoR::GfxActor *gfx_actor)=0
RoR::AeroEngine::getNoderef
virtual int getNoderef()=0
RoR::AeroEngine::reset
virtual void reset()=0
SimData.h
Core data structures for simulation; Everything affected by by either physics, network or user intera...
RoR::AeroEngineType
AeroEngineType
Definition: SimData.h:274
RoR::AeroEngine::setRPM
virtual void setRPM(float _rpm)=0
Application.h
Central state/object manager and communications hub.
RoR::AeroEngine::getpropwash
virtual float getpropwash()=0
RoR::AeroEngine::getReverse
virtual bool getReverse()=0
RoR::AeroEngine::~AeroEngine
virtual ~AeroEngine()
Definition: AeroEngine.h:39
RoR::AeroEngine::getRadius
virtual float getRadius()=0
RoR::AeroEngine::setIgnition
virtual void setIgnition(bool val)=0
RoR::AeroEngine::getIgnition
virtual bool getIgnition()=0
RoR::AeroEngine::getType
virtual AeroEngineType getType()=0
RoR::AeroEngine::getRPMpc
virtual float getRPMpc()=0
RoR::AeroEngine::setVisible
virtual void setVisible(bool visible)=0
RoR::AeroEngine::setThrottle
virtual void setThrottle(float val)=0
RoR::GfxActor
Definition: GfxActor.h:52
RoR::AeroEngine::getThrottle
virtual float getThrottle()=0
RoR
Definition: AppContext.h:36
RoR::AeroEngine::getAxis
virtual Ogre::Vector3 getAxis()=0