FlightGear
next
NasalAircraft.cxx
Go to the documentation of this file.
1
// Expose aircraft related data to Nasal
2
//
3
// Copyright (C) 2014 Thomas Geymayer
4
//
5
// This program is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU General Public License as
7
// published by the Free Software Foundation; either version 2 of the
8
// License, or (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful, but
11
// WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
// General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19
#ifdef HAVE_CONFIG_H
20
# include "config.h"
21
#endif
22
23
#include "
NasalAircraft.hxx
"
24
#include <
Aircraft/FlightHistory.hxx
>
25
#include <
Main/globals.hxx
>
26
27
#include <simgear/nasal/cppbind/NasalHash.hxx>
28
#include <simgear/nasal/cppbind/Ghost.hxx>
29
30
//------------------------------------------------------------------------------
31
static
naRef
f_getHistory
(
const
nasal::CallContext& ctx)
32
{
33
auto
history =
globals
->get_subsystem<
FGFlightHistory
>();
34
if
( !history )
35
ctx.runtimeError(
"Failed to get 'history' subsystem"
);
36
37
return
ctx.to_nasal(history);
38
}
39
40
//------------------------------------------------------------------------------
41
void
initNasalAircraft
(naRef
globals
, naContext c)
42
{
43
nasal::Ghost<SGSharedPtr<FGFlightHistory> >::init(
"FGFlightHistory"
)
44
.method(
"pathForHistory"
, &
FGFlightHistory::pathForHistory
);
45
46
nasal::Hash aircraft_module = nasal::Hash(
globals
, c).createHash(
"aircraft"
);
47
aircraft_module.set(
"history"
, &
f_getHistory
);
48
}
FlightHistory.hxx
initNasalAircraft
void initNasalAircraft(naRef globals, naContext c)
Definition
NasalAircraft.cxx:41
f_getHistory
static naRef f_getHistory(const nasal::CallContext &ctx)
Definition
NasalAircraft.cxx:31
NasalAircraft.hxx
FGFlightHistory
record the history of the aircraft's movements, making it available as a contiguous block.
Definition
FlightHistory.hxx:38
FGFlightHistory::pathForHistory
SGGeodVec pathForHistory(double minEdgeLengthM=50.0) const
retrieve the path, collapsing segments shorter than the specified minimum length
Definition
FlightHistory.cxx:185
globals
FGGlobals * globals
Definition
globals.cxx:142
globals.hxx
src
Scripting
NasalAircraft.cxx
Generated on Tue Jun 3 2025 12:58:41 for FlightGear by
1.13.2