[rwy_simple] Maintenance
This commit is contained in:
parent
cbcbb8c8f6
commit
f98b5cd482
1 changed files with 40 additions and 42 deletions
|
@ -23,21 +23,20 @@
|
|||
#include <simgear/compiler.h>
|
||||
#include <simgear/debug/logstream.hxx>
|
||||
|
||||
#include "runway.hxx"
|
||||
#include "debug.hxx"
|
||||
#include "runway.hxx"
|
||||
|
||||
using std::string;
|
||||
|
||||
// generate a simple runway
|
||||
void Runway::gen_simple_rwy( tgpolygon_list& rwy_polys,
|
||||
tgcontour_list& slivers,
|
||||
tgAccumulator& accum )
|
||||
void Runway::gen_simple_rwy(tgpolygon_list& rwy_polys,
|
||||
tgcontour_list& slivers,
|
||||
tgAccumulator& accum)
|
||||
{
|
||||
tgContour runway = gen_runway_w_mid( 0.0, 0.0 );
|
||||
tgContour runway = gen_runway_w_mid(0.0, 0.0);
|
||||
tgPolygon runway_half;
|
||||
std::string empty = "";
|
||||
std::string empty{};
|
||||
|
||||
for ( int rwhalf=0; rwhalf<2; ++rwhalf ) {
|
||||
for (int rwhalf = 0; rwhalf < 2; ++rwhalf) {
|
||||
double length = rwy.length / 2.0;
|
||||
double end_pct = 0.0;
|
||||
double heading = 0.0;
|
||||
|
@ -47,52 +46,51 @@ void Runway::gen_simple_rwy( tgpolygon_list& rwy_polys,
|
|||
|
||||
//Create the first half of the runway (first entry in apt.dat)
|
||||
runway_half.Erase();
|
||||
runway_half.AddNode( 0, runway.GetNode(3) );
|
||||
runway_half.AddNode( 0, runway.GetNode(4) );
|
||||
runway_half.AddNode( 0, runway.GetNode(5) );
|
||||
runway_half.AddNode( 0, runway.GetNode(2) );
|
||||
}
|
||||
else {
|
||||
runway_half.AddNode(0, runway.GetNode(3));
|
||||
runway_half.AddNode(0, runway.GetNode(4));
|
||||
runway_half.AddNode(0, runway.GetNode(5));
|
||||
runway_half.AddNode(0, runway.GetNode(2));
|
||||
} else {
|
||||
heading = rwy.heading;
|
||||
|
||||
//Create the second runway half from apt.dat
|
||||
runway_half.Erase();
|
||||
runway_half.AddNode( 0, runway.GetNode(0) );
|
||||
runway_half.AddNode( 0, runway.GetNode(1) );
|
||||
runway_half.AddNode( 0, runway.GetNode(2) );
|
||||
runway_half.AddNode( 0, runway.GetNode(5) );
|
||||
runway_half.AddNode(0, runway.GetNode(0));
|
||||
runway_half.AddNode(0, runway.GetNode(1));
|
||||
runway_half.AddNode(0, runway.GetNode(2));
|
||||
runway_half.AddNode(0, runway.GetNode(5));
|
||||
}
|
||||
|
||||
TG_LOG( SG_GENERAL, SG_DEBUG, "runway marking = " << rwy.marking[rwhalf] );
|
||||
TG_LOG(SG_GENERAL, SG_DEBUG, "runway marking = " << rwy.marking[rwhalf]);
|
||||
|
||||
// Displaced threshold if it exists
|
||||
if ( rwy.threshold[rwhalf] > 0.0 ) {
|
||||
TG_LOG( SG_GENERAL, SG_DEBUG, "Displaced threshold for RW side " << rwhalf << " is " << rwy.threshold[rwhalf] );
|
||||
if (rwy.threshold[rwhalf] > 0.0) {
|
||||
TG_LOG(SG_GENERAL, SG_DEBUG, "Displaced threshold for RW side " << rwhalf << " is " << rwy.threshold[rwhalf]);
|
||||
|
||||
double start_pct = end_pct;
|
||||
end_pct = start_pct + ( rwy.threshold[rwhalf] / length );
|
||||
Runway::gen_runway_section( runway_half,
|
||||
start_pct, end_pct,
|
||||
0.0, 1.0,
|
||||
0.0, 1.0, 0.0, 1.0,
|
||||
heading,
|
||||
"",
|
||||
rwy_polys,
|
||||
slivers,
|
||||
accum,
|
||||
empty );
|
||||
end_pct = start_pct + (rwy.threshold[rwhalf] / length);
|
||||
Runway::gen_runway_section(runway_half,
|
||||
start_pct, end_pct,
|
||||
0.0, 1.0,
|
||||
0.0, 1.0, 0.0, 1.0,
|
||||
heading,
|
||||
"",
|
||||
rwy_polys,
|
||||
slivers,
|
||||
accum,
|
||||
empty);
|
||||
}
|
||||
|
||||
// Generate runway
|
||||
Runway::gen_runway_section( runway_half,
|
||||
end_pct, 1.0,
|
||||
0.0, 1.0,
|
||||
0.0, 0.28, 0.0, 1.0,
|
||||
heading,
|
||||
"",
|
||||
rwy_polys,
|
||||
slivers,
|
||||
accum,
|
||||
empty );
|
||||
Runway::gen_runway_section(runway_half,
|
||||
end_pct, 1.0,
|
||||
0.0, 1.0,
|
||||
0.0, 0.28, 0.0, 1.0,
|
||||
heading,
|
||||
"",
|
||||
rwy_polys,
|
||||
slivers,
|
||||
accum,
|
||||
empty);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue