[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/compiler.h>
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
|
|
||||||
#include "runway.hxx"
|
|
||||||
#include "debug.hxx"
|
#include "debug.hxx"
|
||||||
|
#include "runway.hxx"
|
||||||
|
|
||||||
using std::string;
|
|
||||||
|
|
||||||
// generate a simple runway
|
// generate a simple runway
|
||||||
void Runway::gen_simple_rwy( tgpolygon_list& rwy_polys,
|
void Runway::gen_simple_rwy(tgpolygon_list& rwy_polys,
|
||||||
tgcontour_list& slivers,
|
tgcontour_list& slivers,
|
||||||
tgAccumulator& accum )
|
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;
|
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 length = rwy.length / 2.0;
|
||||||
double end_pct = 0.0;
|
double end_pct = 0.0;
|
||||||
double heading = 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)
|
//Create the first half of the runway (first entry in apt.dat)
|
||||||
runway_half.Erase();
|
runway_half.Erase();
|
||||||
runway_half.AddNode( 0, runway.GetNode(3) );
|
runway_half.AddNode(0, runway.GetNode(3));
|
||||||
runway_half.AddNode( 0, runway.GetNode(4) );
|
runway_half.AddNode(0, runway.GetNode(4));
|
||||||
runway_half.AddNode( 0, runway.GetNode(5) );
|
runway_half.AddNode(0, runway.GetNode(5));
|
||||||
runway_half.AddNode( 0, runway.GetNode(2) );
|
runway_half.AddNode(0, runway.GetNode(2));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
heading = rwy.heading;
|
heading = rwy.heading;
|
||||||
|
|
||||||
//Create the second runway half from apt.dat
|
//Create the second runway half from apt.dat
|
||||||
runway_half.Erase();
|
runway_half.Erase();
|
||||||
runway_half.AddNode( 0, runway.GetNode(0) );
|
runway_half.AddNode(0, runway.GetNode(0));
|
||||||
runway_half.AddNode( 0, runway.GetNode(1) );
|
runway_half.AddNode(0, runway.GetNode(1));
|
||||||
runway_half.AddNode( 0, runway.GetNode(2) );
|
runway_half.AddNode(0, runway.GetNode(2));
|
||||||
runway_half.AddNode( 0, runway.GetNode(5) );
|
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
|
// Displaced threshold if it exists
|
||||||
if ( rwy.threshold[rwhalf] > 0.0 ) {
|
if (rwy.threshold[rwhalf] > 0.0) {
|
||||||
TG_LOG( SG_GENERAL, SG_DEBUG, "Displaced threshold for RW side " << rwhalf << " is " << rwy.threshold[rwhalf] );
|
TG_LOG(SG_GENERAL, SG_DEBUG, "Displaced threshold for RW side " << rwhalf << " is " << rwy.threshold[rwhalf]);
|
||||||
|
|
||||||
double start_pct = end_pct;
|
double start_pct = end_pct;
|
||||||
end_pct = start_pct + ( rwy.threshold[rwhalf] / length );
|
end_pct = start_pct + (rwy.threshold[rwhalf] / length);
|
||||||
Runway::gen_runway_section( runway_half,
|
Runway::gen_runway_section(runway_half,
|
||||||
start_pct, end_pct,
|
start_pct, end_pct,
|
||||||
0.0, 1.0,
|
0.0, 1.0,
|
||||||
0.0, 1.0, 0.0, 1.0,
|
0.0, 1.0, 0.0, 1.0,
|
||||||
heading,
|
heading,
|
||||||
"",
|
"",
|
||||||
rwy_polys,
|
rwy_polys,
|
||||||
slivers,
|
slivers,
|
||||||
accum,
|
accum,
|
||||||
empty );
|
empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate runway
|
// Generate runway
|
||||||
Runway::gen_runway_section( runway_half,
|
Runway::gen_runway_section(runway_half,
|
||||||
end_pct, 1.0,
|
end_pct, 1.0,
|
||||||
0.0, 1.0,
|
0.0, 1.0,
|
||||||
0.0, 0.28, 0.0, 1.0,
|
0.0, 0.28, 0.0, 1.0,
|
||||||
heading,
|
heading,
|
||||||
"",
|
"",
|
||||||
rwy_polys,
|
rwy_polys,
|
||||||
slivers,
|
slivers,
|
||||||
accum,
|
accum,
|
||||||
empty );
|
empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue