1
0
Fork 0
Commit graph

726 commits

Author SHA1 Message Date
Ralf Gerlich
f99c623a98 Added binary files to .gitignore 2007-12-19 09:29:20 +01:00
Ralf Gerlich
19bc5f179e Fixed the short-option parsing in terrafit.cc 2007-12-18 18:20:19 +01:00
Ralf Gerlich
37b49da152 Added a flag to fgfs-tools-client that allows enforcing only generation of missing buckets. 2007-12-18 18:19:47 +01:00
Ralf Gerlich
dbd3348762 Added benchmark information to terrafit 2007-12-16 12:02:55 +01:00
Ralf Gerlich
26e01ebe90 Added commandline parser to terrafit.cc 2007-12-16 10:12:14 +01:00
Ralf Gerlich
61a8fece72 Added C++ implementation of terrafit, which is about 6x faster!!!
Had to move parts of Terra into a library and into its own namespace, due to conflicts with SimGear definitions.
2007-12-15 13:38:44 +01:00
Ralf Gerlich
98c218e22a Fixed the process.sh for ogr-decode (note to self: never commit before testing! ;-) ) 2007-12-13 13:47:49 +01:00
Ralf Gerlich
0fc0b38242 Added a process.sh file using ogr-decode 2007-12-12 21:54:06 +01:00
Ralf Gerlich
217c111155 Workaround for a buggy apt.dat-file: 00-records start showing up which seem to represent Center-frequencies. 2007-12-12 12:33:33 -08:00
Ralf Gerlich
6933f75b11 Cleaned up the autoconf GDAL/OGR detection. 2007-11-22 17:45:17 +01:00
Ralf Gerlich
01f5b80457 Added ogrdecode, which decodes all OGR-supported vector input formats to TerraGear polygons. Might replace shape-decode one day. 2007-11-22 17:45:17 +01:00
Ralf Gerlich
54e72714c4 Remove the previous static list of material identifiers and replaced them by material names. Only the clipper still has a static list for identifying priorities. 2007-11-22 17:44:29 +01:00
Ralf Gerlich
ba50776472 added possibility to specify the end record in shape-decode 2007-11-22 17:44:29 +01:00
Ralf Gerlich
d7d3f53442 Optimised access to point lists for triangle segments and triangle nodes. 2007-11-22 17:44:29 +01:00
Ralf Gerlich
46b662bf83 Cleaned up leftovers from nurbs++ patches.
Integrated am2dsp.pl for convenience.
2007-11-22 17:44:12 +01:00
Ralf Gerlich
1ed948c409 Made terrafit.py installable as a script, properly referring to the bindir of the main configuration. 2007-11-08 22:29:04 +01:00
Ralf Gerlich
27dd0a41d8 Fixed the genapts apt.dat parser:
- The VASI GS angle is properly parsed
- Don't assume given column numbers but properly split the lines at whitespaces
- actually make use of the order of taxiways as specified in the apt.dat
- make the min/max lat/lon work (patch provided by Torsten Dreyer on terragear-devel [1])

[1] http://mail.flightgear.org/pipermail/terragear-devel/2007-January/001389.html
2007-11-08 22:27:02 +01:00
Ralf Gerlich
fcb9e6c8ba Fixed the build system 2007-11-08 22:14:02 +01:00
curt
10a0bdc073 Add some debugging infrastructure that is mostly disabled by default. 2007-11-05 21:58:59 +00:00
curt
ffa70e41f7 Expose the calc_angle() function as tgPolygonCalcAngle() 2007-11-05 14:02:21 +00:00
curt
cc5e739297 Wrap with #ifdef's so it can be included from more than one source. 2007-11-05 14:01:37 +00:00
curt
fbdbcb076b Support creation of polygon lines with non-integer widths. For instance,
road line markings in the USA typically are 4 inches wide (about 10cm).
2007-11-05 14:00:23 +00:00
curt
594c1ffa64 Add white and yellow line types. 2007-10-31 15:05:13 +00:00
curt
0cae653c46 Use a local definition of the point2d class since this was removed from SimGear. 2007-08-15 14:36:52 +00:00
curt
d39de0b665 simple 2d point class definition was removed from SimGear so use a TerraGear
local version.
2007-08-15 14:35:36 +00:00
curt
40e74181e2 Add a simple class definition here that was removed from SimGear. 2007-08-15 14:34:29 +00:00
curt
51a49e5ed1 Remove extra qualifier. 2007-04-04 15:44:06 +00:00
curt
01ba584d2e OVERVIEW:
For the time being of VMap0-data in FlightGear Scenery, there have been
two cases of simplification, where different types of landcover usage
have been stuffed into the same TerraGear work directories:

1.) VMap0 "Glacier" and VMap0 "Polar Ice" have been accumulated in the
    'LandCover/Glacier' directory,
2.) VMap0 "Wet Sand" and VMap0 "Marsh" have been mapped together in
    'VPF-LandCover/Marsh'.

These have been defined in the 'TGVPF/process.sh' for a long time and
we simply ported the identical mapping over to 'ShapeFile/process.sh',
in order to provide an exact image of what had been done previously
with the TGVPF reader, when we did all those funny ShapeFile thingies.

When I started storing all the landcover data in a PostGIS DB, one goal
I had in mind was to understand and clean up the structure of all those
different layers.

Now, after many hours of reading VMap specs and dealing with this data,
I have come to the point where we could merge VMap1 data into the VMap0
stuff where VMap1 is available and I'd like to have those duplicates
cleaned up before we're getting into an even bigger mess.

This means, and this is what the patch implements, that we're going to
handle "Polar Ice" landcover data separately from "Glacier" as well as
"Wet Sand" (which apparently means "Littoral" in our case) separately
from "Marsh" - in TerraGear. In order to let FlightGear behave the same
as previously, the two mentione mappings are now implemented by
respective additional "name" entries in the 'materials.xml' file. I
already committed these entries.

I'd like to progress with the task of adding improvements to our
landcover data set because I consider it as one of the vital goals of
further development to add more and more diversity to The Scenery. So
I'm eager to see these really small but significant issues resolved.
2006-11-29 22:19:33 +00:00
curt
3911a656b5 Version 0.2 of airspace program. Note the CHANGES file. 2006-04-14 16:09:10 +00:00
cvs
81656fd423 Remove handle ( and memory ) leak 2006-03-25 14:16:56 +00:00
curt
0ffcbd97aa Initial revision. 2006-01-27 20:28:55 +00:00
curt
a94577bd35 Updates to demo/example processing script. 2006-01-24 19:40:26 +00:00
curt
33df5799d8 Updates to the paths I use. 2006-01-24 19:39:48 +00:00
curt
cf1b289fa2 Updates to suggested/example paths. 2006-01-24 19:39:16 +00:00
curt
964a4c18ef Yikes! How about commenting out the debugging output, not the actual line
of code!  (See, once in a while I can spot my own stupidity.) :-)
2005-12-31 19:29:26 +00:00
curt
7d4a36db97 Fix a bug recently introduced where the code got overly aggressive with
"bad node" removal and could remove desired nodes.
2005-12-31 19:02:00 +00:00
fredb
4ee00f1084 Removed unneeded files from the terra build 2005-12-22 16:46:58 +00:00
curt
35c35d479e Don't build xterra by default. 2005-12-22 15:35:54 +00:00
curt
10558113e8 Cygwin patches from Frederic Bouvier. 2005-12-19 16:51:25 +00:00
curt
f8a6310993 Set default LogLevel = SG_INFO. 2005-12-19 15:56:11 +00:00
curt
c1bec7b6c2 Activate some additional debugging output for LogLevel = SG_DEBUG. 2005-12-19 15:55:47 +00:00
curt
e444f54d6d Prevent date line wrap around due to creating an expanded polygon from a
line that might touch the dateline.
2005-12-19 15:54:58 +00:00
curt
99f280eb08 Updated default command line options. 2005-12-19 15:53:47 +00:00
curt
99da0c21b0 Change SRTM directory names to reflect SRTM v2.0 2005-12-19 15:53:21 +00:00
curt
9ff8e4367d fix typos in comments/debugging output. 2005-12-19 15:52:50 +00:00
curt
0367a7ed38 Another patch ... 2005-11-12 00:23:21 +00:00
curt
a417092df1 I extended shape-decode even further based on Ralf's line feature patch. With
my patch it is possible to store line width as an attribute in the shape file
itself. This comes especially handy with rivers which can gradually broaden
that way.
2005-11-12 00:17:58 +00:00
curt
dde5a64a75 A couple updates to the FGArray API. 2005-11-10 16:26:59 +00:00
curt
4e20e26d04 Use a consistent __sun #definen symbol. 2005-11-08 16:51:18 +00:00
curt
b51914707d Initial revision. This is a little util that can fill SRTM voids with data
from another DEM source.
2005-11-08 16:30:10 +00:00
curt
ed22267dd9 Ralf Gerlich:
This patch for TerraGear extends the shape-decode and noaa-decode tools to also handle shapefiles containing point- and line-data.
2005-11-08 16:27:36 +00:00
curt
507e78357b Handle another possible case of degenerate output from our polygon clipping
code.
2005-10-31 18:53:13 +00:00
curt
b78684b6dd Add an important build note. 2005-10-31 18:47:46 +00:00
curt
13cf4600c7 One small additional bit of sanity checking and cleanup. 2005-10-31 18:45:19 +00:00
curt
a00eb22170 Make the course grid a bit finer. 2005-10-31 18:43:27 +00:00
curt
13e1be6c06 Fix a bug with possible missing skirt nodes. 2005-10-31 18:43:02 +00:00
curt
a42d16fb01 Fix some small bugs. 2005-10-31 18:42:37 +00:00
curt
e78b14e052 Fix glide slope angle parsing for newest x-plane data. 2005-09-28 17:27:07 +00:00
curt
b6b0033859 Remove gts dependency but save the code for algorithmic reference. 2005-09-28 17:24:35 +00:00
curt
75e7fabecb Fix debugging output error. 2005-09-28 17:24:09 +00:00
curt
23aa8a468f Add Win32 directory to the distribution. 2005-09-28 17:23:51 +00:00
curt
f120c59bf8 Remove dependency on gts. 2005-09-28 17:22:06 +00:00
curt
02de050a9b Add a small bit of structure to assist in debugging two crashes near the poles. 2005-09-28 16:44:05 +00:00
curt
8524cf7e76 - Fix a bug in the tile chopper that could lead to infinite recursion for
polygons near the poles.
- Fix a bug in the code that would insert dividing nodes in a long seam which
  could lead to infinite recursion for lines on the poles.
- Change airport area clipping semantics to reduce cracks in scenery.
2005-09-28 16:43:18 +00:00
curt
a63f0cfbdf Update the layers used to build scenery (my defaults.) 2005-09-28 16:41:11 +00:00
curt
238d87c2a2 Increase resource limits for the tile builder. 2005-09-28 16:40:32 +00:00
curt
25f1e2b22b Very slightly tweak clipping semantics to try to reduce artifacts and cracks
in the scenery.
2005-09-28 16:39:58 +00:00
curt
c131a2c572 Fix a small bug that left a missing triangle in airport skirts. 2005-09-28 16:38:50 +00:00
curt
d4ffe52562 Do all the numerical work for surface fitting around 0,0,0 to reduce problems
with floating point roundoff.
2005-09-09 20:47:04 +00:00
curt
3b879d29c2 Fix some bugs in my first attempt at a new airport surface fitting scheme.
The code is now workable but needs some fine tuning.
2005-09-09 20:16:10 +00:00
curt
b8948faf58 This is a first pass at removing the nurbs++ dependency from TerraGear (in
favor of newmat11 which is much simpler, and seems to compile well on modern
OS's.)  I need to do some further testing of genapts and until then, don't
assume the new mechanism is working perfectly.
2005-09-09 15:05:15 +00:00
curt
ade941fb6f Support Robin's new data field in the runway record that lists the glideslope
angle for each end of the runway (affects vasi/papi alignment.)
2005-04-20 18:20:15 +00:00
curt
a51e31d6c7 Remove a depricated option from the usage() display. 2005-01-31 21:54:44 +00:00
curt
0f3f0ef126 gcc-3.4 fix. 2005-01-22 12:55:45 +00:00
curt
168b41e4a2 Updates for 0.9.8 release. 2005-01-11 21:11:27 +00:00
curt
71c793f9b1 Handle Robin Peel's apt database with dos or unix line endings. 2004-12-10 17:58:18 +00:00
curt
fd8f816ee1 Fix a bug that could put the same airport object in the final .stg file twice,
doesn't affect rendering, but could affect render performance.
2004-12-06 22:25:56 +00:00
curt
650bbd7e51 Update my mailing address. 2004-11-19 22:25:49 +00:00
curt
cac8c6bda0 Various miscellaneous script and code tweaks. 2004-11-11 15:08:03 +00:00
curt
06978b3cc4 Fix a logical bug in the routine which strips out holes from a multi-contour
polygon.
2004-11-11 15:07:14 +00:00
curt
fb71b5876c - Chased down a bug that caused threshold lighting to be omitted in some
situations

- Made the code a bit more robust and able to handle the handful of rare
  occasions when the least squares nurbs interpolator fails.

- Add airport surface bases for towers, windsocks, beacons, and vasi/papi
  lighting so they never are buried and never float.  (I'm considering the
  idea of doing this for the approach lighting too ...)
2004-11-11 15:05:13 +00:00
curt
696fa632b4 A few tweaks to better handle newest airport data. 2004-11-09 15:17:52 +00:00
curt
2df4726f33 Do a least squares nurbs approximation to coarse grid when deriving airport
surface.  I think I have this working robustly.

A few miscellaneous tweaks to handle latest X-Plane data (with a few new
runway surface codes we hadn't seen before.)
2004-11-08 21:59:04 +00:00
curt
e711b18d20 Make sure taxiways get generated. 2004-10-15 20:38:56 +00:00
curt
27cfc32e4e First stab at code changes to support the X-Plane data format directly. 2004-10-15 20:14:38 +00:00
curt
86d985a131 Script tweaks. 2004-08-03 13:25:17 +00:00
curt
f69c072f3a Most recent changes. 2004-07-30 20:02:20 +00:00
curt
10a818e0ae Debugging ... 2004-05-19 18:47:25 +00:00
curt
d5689be4e7 Fix an "unfortunate" bug in the binary polygon partitioning scheme that
caused missing output (and thus missing scenery features.)  This could
also lead to cracks in the scenery because of the nature of the underlying
edge matching system.
2004-05-19 18:47:00 +00:00
curt
08f9a12765 Various changes to match changes in supporting Lib API(s). 2004-05-17 20:43:31 +00:00
curt
7de22d8ef2 tgChopPolygon() called a really simplistic polygon partitioner for large
polygons.  This was to bail us out of the overwhelming memory requirments
when using the default polygon clipping routines on really large polygons.
However, the simplistic polygon partitioner did not handle holes.
Unfortunately, several TG utilities were calling this function with polygons
that did contain holes with potentially mixed results.

I renamed this function tgChopBigSimplePolygon() and created a new
tgChopNormalPolygon() which should be used by most utilities unless you
really know what you are doing.

This has some performance implications, but achieves more correct results.
2004-05-17 20:42:42 +00:00
curt
7358eb3f09 Don't use a parameter with a default value, calling code is clearer when the
value is specified explicitely.
2004-05-17 20:39:29 +00:00
curt
d723504e94 Curt's script for processing VMAP0 data. 2004-05-17 20:12:19 +00:00
curt
cd7ee31c7e Frequently our beloved polygon clipper will generate polygons with a wierd
branch.  Kind of an out and back.  node[n] == node[n+2] where there is some unique point in between.  Our triangulator is usually robust to this, but not in
100% of all cases.  So I had some code to catch and eliminate this weirdness.
However, a key piece of code was commented out (?!?) rendering it a no-op.
I fixed this and tile building is more robust now.
2004-05-13 21:34:25 +00:00
curt
341079f103 Fiddle with some debugging output temporarily.
Remove some #ifdef'd out code.
Reduce verbosity.
2004-05-13 21:29:17 +00:00
curt
a25776b4a6 Update for new scenery version. 2004-05-13 21:28:34 +00:00
curt
80a1b1ef23 A couple small tweaks to the airport generator to try to eliminate
surface artifacts.
2004-05-12 20:08:55 +00:00
curt
ae939e2e44 Fix a small (but potentially confusing) spelling error. 2004-04-26 16:22:21 +00:00
curt
de27ab5bf7 Change corresponding to a change in simgear. 2004-04-26 16:17:45 +00:00
curt
fd0a6e29fc Ok, this change seems to help a lot.
There are quite a few difficult cases where an airport is located on top
of a hill, or in a bowl, or has a significant elevation change near by.
I take the average elevation of the area and clamp the outlyers.  However
these difficult cases "bias" the average elevation because the airport
surface may include much of the surrounding area.

This change to the code computes the airport elevation *only* based on the
actual airport geometry node and ignores all the surrounding nonsense that
might exist.  This doesn't make things perfect, but is a *big* step forward
for airports in areas with significant elevation change nearby.
2004-04-21 17:03:59 +00:00
curt
ac461bda55 - Switch to using doubles for the nurbs library. We were running out of
precision with floats.

- Restructure how the airport surface is sampled just a bit.

- Solving for X,Y given U,V on a nurbs surface is a little bit tricker than
  I first thought.  If you change one demension of U or V, you can change
  both X and Y.  We need to solve for each X, Y axis independently, and
  then iterate in case moving in the other axis has taken us away from the
  solution in the first axis.

- Add a slope constraint on airport surfaces.
2004-04-20 01:14:15 +00:00
curt
29c57d3ff5 Yet another round of airport surface debugging and shuffling. Anyone want
to take bets on whether or not I got it right this time? :-)
2004-04-19 18:45:06 +00:00
curt
f3db2e778c Skip short towers or we end up with way too many. 2004-04-18 17:28:41 +00:00
curt
d77acbd863 Doh! 2004-04-14 20:57:34 +00:00
curt
2e93d6c7a6 Add a script to preprocess a USA radio tower database into something we
can use.
2004-04-14 18:16:25 +00:00
curt
eea57f81b8 Add some end time estimation code to keep myself entertained while I wait
for the program to finish.
2004-04-14 14:35:09 +00:00
curt
9c43f4785e Add a routine to place a "shared" object into the Work tree so the tile
builder can pick it up later in the final assembly process.
2004-04-14 14:34:13 +00:00
curt
35f324ddaa Some of the prep tools can define objects to go into the final .stg files.
Enhance the build tiles utility to handle a larger variety of cases.
2004-04-14 14:33:22 +00:00
curt
66cf156a77 Pass along beacon, control tower, and windsock data. 2004-04-14 14:32:22 +00:00
curt
b5894d473f Track and position beacons, windsocks, and towers. 2004-04-14 14:31:44 +00:00
curt
92650b6ded Need to #include <stdio.h> if we are using printf() 2004-04-10 14:22:08 +00:00
curt
e779c45679 Output a % done periodically. 2004-04-09 15:55:07 +00:00
curt
1399eb9de3 Rename tgSplitPolygon() -> tgChopPolygon() which is slightly more descriptive
and doesn't sound so much like the split long edges function.
2004-04-08 19:47:39 +00:00
curt
b6be77e5da Add an option to subdivide polygon edges so that no single edge segment is
longer than the specified length (in meters).  Defaults to no edge subdividing.
2004-04-08 19:36:43 +00:00
curt
65ea77978f Make a couple function calls a bit more "name space friendly".
Expose a polygon function that will split up long edge lines to keep the
  max edge distance below some threshold.  This could be used for instance
  to reduce long lines in polygon area shapes so they can better follow
  the underlying terrain changes.
2004-04-08 19:20:19 +00:00
curt
f6a4951f36 Next attempt to get rid of grass. 2004-04-07 04:34:00 +00:00
curt
87cedc6fdb Oops, revert last change, displaced thresholds are included in overall
reported runway length.
2004-04-07 04:25:35 +00:00
curt
1a69225101 This patch *should* fix the "open grassy" areas at the centers of runways
with displaced thresholds.  (Not fully tested yet.)
2004-04-07 04:05:39 +00:00
curt
c8ded2eda1 Towards better airport surface simplification and smoothing. There were
several bugs in the previous try.  These changes should correct them.
2004-04-06 22:50:00 +00:00
curt
c75fa83c15 Airport lighting arrangement now factors in displaced thresholds. 2004-04-06 16:01:10 +00:00
ehofman
791b1bb4fc David Luff:
The patches deal with three separate issues, all rolled up into one
tarball:

Currently, arrayfit always appends .arr.gz onto the name passed on the
command line, meaning that only tile names can be passed.  The patch strips
off .arr or .arr.gz if present prior to it's appending, meaning that tile
names or filenames can be passed on the command line.

The interface to the OSGB36 conversion functions is cleaned up a lot.  I
can't believe I originally wrote it in such an ugly manner!

A lot of console output (> 5000 lines per tile) is removed from the final
construction process, meaning that the output left can actually be read.
2004-03-08 09:47:42 +00:00
ehofman
a71d62c859 David Luf:
The attached patches significantly quieten the output from genapts, which in it's current form resembles the universe flying by on a bad hair day   Remember chaps, console output on Windows is slooowwwwww...  Normal service may be resumed using --verbose or -v.  I've also added a short help, obtainable with --help or -h.  I've also added a couple of extra options, --airport=abcd for just generating a particular airport, and --tile=<[we]xxx[ns]xx> for generating a 1x1 degree tile.  We currently have --chunk=<[we]xxx[ns]xx> for generating a 10x10 degree chunk, and I'd like to eventually add --tile as an option to all tools that take --chunk.

This one adds the tile option to
tgvpf.

Erik Hofman:

Some small code changes for IRIX.
2004-02-26 15:33:32 +00:00
ehofman
0ec77c12c5 Make sure both TaxiDraw generated airport files and Robin Peels default database can be used without any problems. 2004-01-30 20:07:29 +00:00
curt
d0c14eef21 Tweak error thresholds. 2004-01-08 21:36:18 +00:00
curt
da71823a3e Tweak to build with latest simgear cvs. 2004-01-08 21:35:56 +00:00
curt
8214fa2ccc Tweaks to build scripts. 2004-01-08 21:35:38 +00:00
curt
3fa11a9348 Fix to build with latest simgear cvs. 2004-01-08 21:35:23 +00:00
curt
9eec038f19 Bevan Anderson:
Add support for generating Calvert-I/II approach lighting schemes.

Curt Olson: a couple tweaks to compile with latest simgear cvs.
2004-01-08 21:34:44 +00:00
curt
b635ee443d (running tgvpf --chunk=e020n40 --work-dir=Lakes --material=Lake /home/romosan/scenery/vmaplv0 eurnasia hydro inwatera).
It looks like the program gets into an infinite loop while findind
edges for a contour (inserting the same edge over and over until the
program runs out of memory). i am not quite sure i understand the code
but the following patch solved the problem for me:
2003-12-18 17:38:05 +00:00
curt
a27a7d9367 Updated to track a minor file naming change. 2003-12-15 16:44:27 +00:00
curt
a4ae777cf2 Add an example usage: 2003-12-15 16:34:09 +00:00
curt
ee4451de4d Initial revision. 2003-12-15 16:30:04 +00:00
david
30de6cb81a Get a little smarter about guessing what's an apron:
Before:

- if it's a concrete taxiway over 150 ft wide, assume it's an apron
  (confusingly called "tiedown")

After:

- if it's an asphalt or concrete taxiway over 150 ft wide, *or* if
  it has no blue taxiway lights, assume it's an apron
2003-11-30 22:03:06 +00:00
curt
e8bcdaa4d0 Updates to track recent changes in simgear. 2003-11-12 22:16:22 +00:00
curt
f2382f77a1 Various changes and updates. 2003-11-12 22:16:03 +00:00
curt
d64f5bdf87 Tweak to taxiway lighting names. 2003-09-23 23:08:26 +00:00
david
c4a3dbd26d Ignore generated files. 2003-09-20 11:06:14 +00:00
curt
467e70faa0 Updates. 2003-09-16 19:32:11 +00:00
curt
56dfd0985d Fix a small bug in handling of x-plane data. 2003-09-05 21:03:27 +00:00
curt
53d6419b43 Give sea plane bases and heliports their proper identification. 2003-09-05 20:14:04 +00:00
curt
ff685ced13 - Add support for displaced thresholds on runways with nonprecision and visual
markings.
- Fix a couple very small alignment/sizing problems.
- Use a different texture (similar to rest) before aim points on nonprecision
  runways.  This will potentially make things easier if we want to add
  skid marks to the textures.
- Fix a couple bugs (el stupido) in precision marking generation.
2003-09-05 20:13:29 +00:00
curt
2538ac773f Added support for generating displaced thresholds (finally) :-) 2003-09-05 01:37:04 +00:00
curt
9a7173d85e For smoothing things like rivers or roads we need to allow some slope.
Originally I through together a really cheap/ugly hack for estimating
distance between two points, but that really started to stink when throwing
a lot of new situations at it.  So now I calculate spherical distances between
two points in meters which is plenty accurate for these purposes.  This gives
us much better control over smoothing.  For instance we could establish a
maximum 10% grade for all roads if we wanted to.
2003-09-04 18:53:53 +00:00
curt
4f2528e8f7 Initial revision. 2003-09-04 02:53:40 +00:00
curt
8f5bc3579a Debugging output tweak. 2003-09-03 22:46:04 +00:00
curt
2c45b3ce5d Do some flattening of intermittent streams as well as roads, railroads, and
freeways.
2003-09-03 22:45:50 +00:00
curt
400db7c3a9 Oops a previous change (thought to be harmless) turned out to be harmful.
This could cause tile edges to no longer match up becuase this routine would
adjust node elevations which it shouldn't have.  Hopefully this change fixes
the problem.
2003-09-03 22:12:45 +00:00
curt
b3e0d4b5f3 Slightly tweak size of grass area surrounding airports. 2003-09-03 22:10:51 +00:00
curt
d33d445cce Add the Utils directory to the build tree. 2003-09-03 22:10:06 +00:00
curt
028c9af689 Fix a bug that could lead to improperly positioned airports in some cases. 2003-09-03 17:09:05 +00:00
curt
5a84f39f83 Allow additional or non-standard terrain source directories to be specified
on the command line with the --terrain= option.  You can specify as many as you like.  Directories specified on the command line will take precidence over
the default directories and the directories will be searched in the order
specified.
2003-09-03 16:38:50 +00:00
curt
473c4d9b94 - Added support for generating green taxiway center lighting (when called for
in Robin's data.)
- Code adjusted to work with slightly modified input data format (part of
  our move away from metakit.)
- Eliminate some debugging output.
2003-08-29 20:34:46 +00:00
curt
bd02f2548c Eliminate some debugging output.
Fix some warnings.
2003-08-29 20:32:41 +00:00
ehofman
52ef60a056 Reorginize the configure script to math the one from FLightGear more closely. Add checks for the presence of GLIB and GTS. 2003-08-29 18:32:28 +00:00
curt
812ab94975 Initial revision of runway.dat generator (tweaks to basic.dat generator) 2003-08-29 13:27:20 +00:00
curt
b8a4a97785 Initial revision of script to generate simple.apt from x-plane's latest
airport database.
2003-08-28 21:14:07 +00:00
curt
5717e1df5f Patch from Norman to fix a slight oversite in file date querying. 2003-08-28 14:54:32 +00:00
ehofman
3ffd52820c Check whether the creatin time of the output file is after the creation time of the input file. If so, skip to next file 2003-08-28 14:44:31 +00:00
ehofman
a9ec1ccdb6 Fix some mistakes 2003-08-28 14:09:05 +00:00
ehofman
703fc67636 Make reads() more robust and easier to follow 2003-08-28 12:36:31 +00:00
ehofman
0599f873dc Don't forget to terminate the string 2003-08-28 12:03:15 +00:00
ehofman
da7d172d37 Convert \r to \n while reading the file 2003-08-28 09:40:50 +00:00
ehofman
6aaec038f8 Solve a dependancy problem 2003-08-28 09:17:19 +00:00
ehofman
fc9f7069ca Allow for header files that are generated on machines with non UNIX like line endings 2003-08-28 09:01:31 +00:00
curt
0a4cc36775 Use <simgear/compiler.h> functionality to make STL includes more portable. 2003-08-27 14:02:29 +00:00
david
20dc0cf8a0 Ignore generated files. 2003-08-25 19:35:50 +00:00
curt
e93197d1b5 David Luff:
Attached are patches to Terragear to enable it to compile out of the box on
Cygwin (once all the relavent libraries have been compiled).  Specifically
they fix a conflict with another version of min/max somewhere on the
system.
2003-08-25 19:12:20 +00:00
david
ced60ae2e2 Remove IOSTREAMH macro -- it turned out to be something specific to
SGI headers, rather than a program-specific compilation macro.  Always
assume that the iostream library is present.
2003-08-25 18:18:58 +00:00
ehofman
4516c4a9d6 Make it somewhat IRIX/MipsPro compliant again. We still need to resolve the IOSTREAMH declaration issue 2003-08-25 17:52:42 +00:00
david
631c9ab968 Fixed to compile and install using an ANSI C++ compiler like G++ 3.3.
Some conditionals may be required to build with other compilers.
2003-08-25 17:11:43 +00:00
ehofman
694bb7a4cc Satisfy a dependency 2003-08-24 19:02:29 +00:00
ehofman
bcb7d5f77f Fix a mistake 2003-08-24 18:59:33 +00:00
ehofman
8c6c0c480c Satisfy a dependency 2003-08-24 18:55:21 +00:00
ehofman
4e1da3cedf Compiler fix 2003-08-24 18:48:18 +00:00
ehofman
e0bc55edd2 Add the simgear debug library because of dependency issues 2003-08-24 18:37:13 +00:00
ehofman
ac2646a365 Also look for getline() in the std namespace 2003-08-24 18:29:08 +00:00
ehofman
23f08fd725 MSVC/MipsPro fix 2003-08-24 17:29:10 +00:00
ehofman
d8fcc7232a Don't bail out when not finding libnurbs++ but just don't create genairport and end with a warning 2003-08-24 17:27:25 +00:00
curt
47771c9bb4 Several changes related to [trying to] make more effective use of the global
land cover/land use raster data, but there seem to be some very significant
issues no matter how you cut it ....
2003-08-22 19:46:28 +00:00
curt
460d6349b0 Add a check for additional degeneracy. 2003-08-22 19:15:48 +00:00
curt
7a4f52e98b Fixes corresponding to slightly different terrafit output. 2003-08-22 19:13:02 +00:00
curt
38bb74f339 Add a routine to catch/remove some addition degeneracy our polygon clipper
can produce.
2003-08-22 17:34:56 +00:00
curt
0dc39b1911 Try to be just a bit smarter about how to assign an area type to a triangle. 2003-08-20 17:18:50 +00:00
curt
83ebd1eba7 Use the correct number of parameters when calling the gen_runway_area()
functions.
2003-08-20 16:52:43 +00:00
curt
5937926a0b Ok, big oops here. I was passing 3 parameters to a 4 parameter function,
but because of the use of default arguments, the compiler wasn't flagging
this as an error.  This caused a) much stupidity and b) additional stupidity.

I also found a case where I passed in a length and width extention parameters
but, used the length parameter twice ignoring the width parameter.  This
yields much more sensible and expected results when building the grass buffer
zone around a runway.
2003-08-20 16:52:04 +00:00
curt
9e9a13bbdf Do some additional processing on the airport surface grid to try to clip
out spikes and other wierdness and generally keep a reasonable bounds
on how much the surface can vary.
2003-08-20 16:49:12 +00:00
david
fafab4a3a0 Ignore another app. 2003-08-20 12:25:14 +00:00
curt
5943155bad Try an idea that is hopefully slightly more intelligent about what land
cover area to assign a "default cover" triangle to.
2003-08-19 02:51:08 +00:00
curt
4ff5acb28c Still support a minimum angle threshold for quality refinement in the
trangulator wrapper, but this isn't used by the calling layer any more.
2003-08-19 02:38:08 +00:00
curt
fe6ff15206 Remove --min-angle option. 2003-08-19 02:36:10 +00:00
curt
730c454320 - Test a different approach for assigning land cover attributes to "default'
cover" areas.  Rather than artificially cut in polygon areas, just lookup
  a land cover type for unassigned triangles.  I think this has potential, but
  it needs more work to eliminate some odd artifacts.

- Revove --min-angle= option.

- Don't re-fit() triangle array to try to achieve a particular range of
  node quantities ... this is all pre-computed with a much smarter, much
  more efficient algorithm.
2003-08-19 02:35:35 +00:00
curt
f5f961b8c0 Remove support for a "minimum triangle angle" quality constraint when
triangulating a tile.  A better strategy is to have better input that doesn't
need to hide behind this trick.
2003-08-19 02:32:11 +00:00
curt
eb3a3a4fa2 Update examples. 2003-08-19 02:30:05 +00:00
curt
efbe6af104 calc_tex_coords() -> sgCalcTexCoords() 2003-08-19 02:29:44 +00:00
curt
0b4b91c90f Unraise the verbosity level. 2003-08-19 02:27:08 +00:00
curt
b2d808f214 Tweak an output message. 2003-08-19 02:26:43 +00:00
curt
39222a737e Handle .zip'd SRTM data files directly. 2003-08-19 02:25:48 +00:00
curt
aec29df1c8 Working towards completely depricating the previous insanely stupid array fit
algorithm.
2003-08-19 02:24:38 +00:00
curt
af6dc9bb0d Various parameter tweaks. 2003-08-19 02:23:25 +00:00
curt
d0f17a2cd7 Fix for properly handling SRTM voids ... terrafit.py rescales the data range
so that all the values are positive this make things a little trickier inside
terra.
2003-08-16 16:28:55 +00:00
curt
9ab16521f4 Minor tweaks for better debugging/monitoring 2003-08-16 15:39:59 +00:00
curt
ad75df026d Ignore SRTM "void" values. 2003-08-16 14:53:00 +00:00
curt
a20d85ac0d Picky, picky :-) 2003-08-16 02:09:06 +00:00
curt
eb04a8771d Initial revision. 2003-08-16 01:59:37 +00:00
curt
bf32c9e447 Fix a compile error. 2003-08-16 01:58:15 +00:00
curt
df54cff836 The TerraGear version of Michael Garland's "Terra" program now supports
minnodes directly, so I have slightly tweaked the python wrapper script
in light of this.
2003-08-16 01:57:28 +00:00
curt
9e38f10dc6 Add src/Prep/Terra and src/Prep/TerraFit 2003-08-16 01:48:38 +00:00
curt
37d4e6f738 - Various tweaks to make the code build with gcc-2.95 under linux.
- added a -n <num> option to specify a minimum number of nodes to emit
  irregardless of the error threshold.
2003-08-16 01:38:22 +00:00
curt
1a3c24506b Original version of Michael Garlands terra program version 0.7 (public domain) 2003-08-16 01:35:54 +00:00
curt
d309a52bee Intial revision. 2003-08-16 01:18:39 +00:00
curt
170783ea73 The terrafit stuff is getting a much deserved and belated promotion ... 2003-08-16 01:18:01 +00:00
curt
533db6e82d Initial revision. 2003-06-12 20:05:01 +00:00
curt
c148689adc Fixes to match changes in SimGear-0.3.3 2003-06-12 20:02:08 +00:00
curt
05c765b397 - Make the bucket/dem coverage check slightly fuzzy in case of slight
numerical rounding errors.
- Convert several usages of int = 0 or 1 to bool = false or true
2003-06-12 20:01:34 +00:00
curt
f7a4a8bfa0 Rainer Emrich:
Updates to DEM parser to make it more compliant with the spec.
2003-04-02 17:39:46 +00:00
david
3169a0255f Roll out the last changes, since they were making far too narrow
polygons out of roads.
2003-04-02 16:39:52 +00:00
curt
07d17d2536 Initial revision of a scipt that leverages the "terra" utility to
impliment essentially the same thing as "ArrayFit".   Requires the terra
program, but the terrafit.py script should take care of the pre/post
processing.
2003-03-31 20:10:27 +00:00
david
51d5fe00ea Install arrayfit along with the other utilities. 2003-03-20 14:50:54 +00:00
david
67ea97f704 Oops -- the array wasn't being read when there was no *.fit file (my fault). 2003-03-20 14:50:33 +00:00
curt
0cbbe80488 Changes to track libArray api tweaks. 2003-03-19 22:52:04 +00:00
curt
bab9af52b3 Just ignore "void" data points when doing the surface fit. I think this
is probably better than guessing at a value and fitting to the guessed value.

For corner points (where we *need* a value to do the fit) use the elevation
of the "closest" euclidean-wise valid point.
2003-03-19 22:51:26 +00:00
curt
869f0412a3 Updates to match libArray api changes. 2003-03-19 22:49:13 +00:00
curt
f526985854 Update counter index names to make the code more explicite. 2003-03-19 22:48:35 +00:00
curt
123fb92d40 Updates to libArray and a few interface tweaks to allow more sensible
handling of void (non-data) in the original DEM/SRTM.
2003-03-19 22:47:45 +00:00
david
dbdc51696e Make sure fitted_in is always allocated, to avoid a segfault. 2003-03-19 01:59:02 +00:00
david
a0b4097f5d Fix iterator assignment. 2003-03-19 00:30:42 +00:00
david
077f32fc60 Ignore generated files. 2003-03-19 00:28:49 +00:00
curt
119d46058b I wrote arrayfit and it worked.
Then I needed to modify libArray code so that other portions of the code
could use the pre-computed fit data.
Today I discovered that arrayfit was messed up.  That is now fixed.
2003-03-17 17:25:11 +00:00
curt
3b6e96a06a Fix a problem for gcc-3.2 2003-03-17 16:31:40 +00:00
curt
06985ebabd Changes corresponding to API changes in libArray.a 2003-03-17 04:50:40 +00:00
curt
90152df81f Changes to support also loading a pre-computed best-fit surface to the
array data.
2003-03-17 04:49:47 +00:00
curt
b019a7d44a Initial revision of utility to fit a much reduced size terrain surface
to a higher res data set, attempting to preserve the most important
features in the original data set.  The user can specify a min and max
number of output nodes as well as a maximum error tolerance that should
not be exceeded (between the original and simplified surfaces.)
2003-03-17 04:48:50 +00:00
curt
cde416c9f3 Initial revision of a tool that uses Michael Garland's algorithm to fit
a simpler TIN surface to a regular array of height values.  The algorithm
is described here:

    http://graphics.cs.uiuc.edu/~garland/software/terra.html
2003-03-16 21:52:10 +00:00
curt
68a4ac7956 Added a small test program that builds a simplified surface approximation
based on the terrain simplification algorithm in Michael Garlands paper
located here:

   http://graphics.cs.uiuc.edu/~garland/software/terra.html

Essentially start with two triangles forming the bounding surface.
Then add the point that has the greatest error.  Retriangulate.
Recalcuate errors for each remaining point, add the one with the
greatest error.  Lather, rinse, repeat.
2003-03-16 13:33:04 +00:00
curt
9f73338a1f Minor tweaks for scenery building process. 2003-03-14 22:22:48 +00:00
curt
aa37052182 Check point ... 2003-03-14 01:51:18 +00:00
curt
d05fd4a8ff Big round of cascading FG -> TG name cleanups (once you get going it's hard
to stop.) :-)

Also save elevations of 3d polygons into a separate lookup list when they
are loaded by the clipper.
2003-03-13 21:20:46 +00:00
curt
4abf503817 Rewrite for loops with out iterators so they are more readable. 2003-03-13 20:47:58 +00:00
curt
b66f8ce695 Minor tweaks. 2003-03-13 20:47:31 +00:00
curt
ccde971251 Added support for loading 3d polygons. 2003-03-13 20:37:51 +00:00
curt
727e512fad Not that it should matter but change the thresholds a bit to be consistant
with what I do in other portions of the code.
2003-03-13 20:26:56 +00:00
curt
d70cd72fbd Don't automatically try to preserve polygon elevations, but instead provide
a method() to inherit elevations from another polygon.  This gives the calling
layer much more control over preserving or not preserving elevations.
2003-03-13 20:25:02 +00:00
curt
ba3114a8b5 Fixed a compile warning. 2003-03-13 20:23:15 +00:00
curt
c5ab6678f2 Added support for including height information in the intermediate polygon
format.  The big trick was that the polygon clipper is completely 2d.  So
I needed to add code to preserve the elevations in the clipped output and
fill in plausible elevations for any new points created as a result of the
clipping.
2003-03-12 21:25:35 +00:00
curt
9c85f16b5f Working towards the ability to specify elevations for a polygon in it's
intermediate mode.  The goal then is that these elevations would be
preserved throughout the tile construction process and the surrounding
geometry would fill in without gaps.  This has potential applications for
airports and runways of course as well as roads, rivers, streams, railroads,
or any other object where we might want to control the final elevation in
advance.
2003-03-12 18:23:31 +00:00
curt
af89a8a205 Add a utility to reassemble all the array files for a 1x1 degree area and
write them out in a dumb ascii array format.
2003-03-11 20:22:16 +00:00
curt
7c3f6dd15d Dohhh, I knew I would screw it up the first time. But no, I doubly screwed
it up.  Read the rows from bottom to top rather than top to bottom and
flipped row/col ...
2003-03-11 20:21:30 +00:00
curt
c9757cb753 Add the ability to extract out an individual elev by array position rather
than only by lat/lon.
2003-03-11 20:20:04 +00:00
curt
b3935db989 Add back code to clip polygons against land mass. This temporarily breaks
the ability for roads/railways to bridge ocean, but I hope to get that fixed
soon.
2003-03-11 20:19:09 +00:00
curt
ea58728f5c With the latest version of the libnurbs++, the include file extension has
changed from .hh -> .h
Generate a complete enclosing area around the airport including taxiways,
  not just runways.
2003-03-11 20:17:57 +00:00