1
0
Fork 0
Commit graph

413 commits

Author SHA1 Message Date
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
curt
1bfc2da8ee Fix a compile problem for some platforms/compilers. 2003-03-11 16:04:49 +00:00
curt
6c26352508 Avoid telling the nurbs library to do something it can't do (resulting
in a segfault.)
2003-03-10 15:01:08 +00:00
curt
4bb5decbcb A simple perl::GD script to convert .hgt to a .png for visualization purposes.
The explicite draw each pixel method is inefficient, but used anyway to make
it utterly clear what the data order is in the original .hgt file.
2003-03-10 14:56:12 +00:00
curt
266772ee39 Add a routine to dump out the .hgt data in a simplistic ascii format. 2003-03-10 14:54:42 +00:00
curt
bf96033516 Tweaking parameters. 2003-03-10 03:00:59 +00:00
curt
c986802faa The resulting airport surfaces still had too much undulation from the noise
in the DEM data.  Coarsen the nurbs grid and average some surrounding data
to hide the noise.
2003-03-09 19:19:19 +00:00
curt
846473a424 Make each representative grid point the average of a larger set of points. 2003-03-09 18:51:00 +00:00
curt
c170e77854 Switch to calculating node elevations based on the nurbs surface rather
than raw dem data.
2003-03-09 18:13:53 +00:00
curt
abd30e0352 Initial revsion of testnurbs.cxx which exercises some basic capabilities of
the nurbs++ library.
2003-03-09 18:12:25 +00:00
curt
15ae058d4a First stab at code to build a nurbs surface that approximates the surface
of an airport.
2003-03-09 18:11:29 +00:00
curt
83388f0c38 Switch to bool return types. 2003-03-09 17:27:07 +00:00
curt
0d53ec0be0 Fill in "void" data with surrounding data. 2003-03-09 17:22:22 +00:00
curt
e55881e063 More informative output. 2003-03-09 17:21:47 +00:00
curt
887297d8d0 A slightly more flexible way to find the best elevation data. 2003-03-08 03:25:05 +00:00
curt
e7d08d90d1 A couple minor changes to this helper script. 2003-03-08 01:44:28 +00:00
curt
e6c1dc4c0c Rewrite the line to polygon making routine to (hopefully) make the
line widths consistant and accurate always.
2003-03-08 01:43:47 +00:00
curt
1a741df940 Remove an unneeded define. 2003-03-08 01:42:46 +00:00
curt
1a46456fbd Use .arr as the intermediate height field rather than .dem since .dem
implies a different format.
2003-02-27 21:19:00 +00:00
curt
e483bf0a34 Switch to using .arr as the intermediate height elevation array file extension. 2003-02-27 21:13:17 +00:00
curt
15ba15538b Output file is written with a ".arr" (Array) extension since it's no longer
in .dem format.  The .arr format is a much simpler (and a bit less flexible)
specifically for use as an intermediate format when building scenery.  Any
number of various raw terrain formats could be translated into the common
.arr format which then greatly simplifies life for the build tiles util.
2003-02-27 21:06:57 +00:00
curt
d11e7c7b3f First crack at a Prep utility to process SRTM "hgt" data into TerraGear's
intermediate format.
2003-02-26 21:39:27 +00:00
curt
61764b286d Renamed FGTexParms -> TGTexParams. 2003-02-26 21:20:43 +00:00
curt
0e4f17ad51 Rename FGRunway -> TGRunway. 2003-02-26 21:16:43 +00:00
curt
62a3a1936c Rename FGSuperPoly -> TGSuperPoly 2003-02-26 21:09:39 +00:00
curt
bd1b254506 Rename: FGPolygon to TGPolygon 2003-02-26 20:59:34 +00:00
curt
7709953518 Rename: FGGenFans -> TGGenFans 2003-02-26 20:36:15 +00:00
curt
61445e9af6 Renaming:
- FGContourNode -> TGContourNode
 - FGTriNodes    -> TGTriNodes
 - FGTriSeg      -> TGTriSeg
 - FGTriSegments -> TGTriSegments
2003-02-26 20:25:29 +00:00
curt
d2206e9214 Rename: FGDem -> TGDem 2003-02-26 20:04:12 +00:00
curt
0a1108e494 Rename: FGArray -> TGArray 2003-02-26 19:59:25 +00:00
curt
698fb1b869 Add HGT subdir 2003-02-26 19:57:04 +00:00
curt
f048b73a9a Clean up various accumulated cruft. 2003-02-26 19:56:39 +00:00
curt
1d71909929 Initial revision of code to read SRTM "hgt" format data. 2003-02-26 19:30:25 +00:00
curt
38c42b34fb Additional tweaks for 0.0.5 release. 2003-02-25 19:16:13 +00:00
curt
f56af62248 Various pre-0.0.5 release tweaks. 2003-02-25 17:58:40 +00:00
curt
927540c8b1 One more Irix tweak. 2003-01-08 16:29:04 +00:00
curt
8b269dc000 Erik Hofman:
A big honkin' set of minor tweaks to bring TerraGear into Irix compliance.
2003-01-07 22:46:51 +00:00
curt
27a068f721 Various fixes and tweaks. 2003-01-07 19:48:32 +00:00
curt
bb4c4f6b13 First stab at a utility to fetch scenery based on the current flightgear
position.

Terrasync runs as a separate process and accepts the --atlas=port format.
The fgfs output tells the terrasync util where FlightGear is currently flying.
Terrasync will then issue the appropriate commands to rsync the surrounding
areas to your local scenery directory.

As you fly, terrasync will periodically refresh and pull any new scenery tiles
in the vicinity.

This also works if the scenery on the scenery server is update.  Rsync will
pull any missing files, or any updated files.

There is a chicken/egg problem when you first start up in a brand new area.
FlightGear is expecting the scenery to be there *now* but it hasn't been
fetched yet.  I suppose without making a more complex protocol, the user
will need to be aware of this.  The user could restart flightgear after the
initial rsync completes, and then after that everything should be good,
assuming the user has the necessary bandwidth to keep up with flight speeds.

Final notes:

At the moment Alex Perry has a partial rsync server, but I don't know it's
status.  I hope to have a full server up and running at some point soon.

Currently the terragear utility just echos the commands it would run to
rsync the data, it doesn't actually run the commands.  This is a work in
progress.
2002-11-23 03:17:47 +00:00
curt
58bd28bb03 Make centerline light generation more robust for ultra short runways.
This keeps us from generation a bogus output file that could crash fgfs.
2002-11-22 22:00:08 +00:00
curt
8c992abfa4 Julian Foad:
- In runway error message, say which runway.
2002-11-11 15:19:56 +00:00
curt
5bb24ff286 Julian Foad:
- Put a space between arguments and redirection operator: looks nicer
  and may be necessary in some circumstances.
- Add missing option "--min-angle" to help text.
2002-11-11 15:19:34 +00:00
curt
ec83d7a39b Julian Foad:
- Remove redundant "const" from return-by-value type.
- Rearrange function to avoid sometimes-unused variables (compiler warning).
2002-11-11 15:19:04 +00:00
curt
c76dff0abf Fix a stupid bug in flattening approach lighting (used "i" rather than "j"
for the indexing variable.)
2002-11-09 17:02:10 +00:00
curt
1ecf81c25b Make the superpoly flag a string rather than an int so we can use it to
convey a wider range of information.
2002-11-09 16:40:20 +00:00
curt
ab5ae52e7d Force each light in an approach lighting groups to have the same elevation
equal to the elevation of the highest light.
Approach lighting systems don't rise and fall with the prevailing terrain.
This prevents portions of the approach lighting system from dipping below
ground level in cases where the surrounding terrain is simplified and doesn't
perfectly match the DEM data.
2002-11-08 20:36:18 +00:00
curt
5f502fc76b This falls under the oops category or perhaps I was uncharacteristically
confused by the alphabet soup.

- Forgot to impliment the SALS(F) version of SALS approach configuration.
- Was generating SSALS when the system was requesting SALSF.
2002-11-04 20:04:24 +00:00
curt
00f4c61073 - Implimented ODALS.
- Added threshold lights to runways that have edge lights but no other
  approach configuration that would have caused threshold lights to be
  created.
2002-11-04 16:30:26 +00:00
david
9af342a033 Patch from Frederic Bouvier:
I had a segfault in case result.size() is 0 because result[i] is used
before knowing it exists. I inverted the test and it now goes well.
2002-11-01 10:49:49 +00:00
curt
276ad45d0e Fix runway "0" problem.
Fix problem with skirt node not being found in node list.
Other various tweaks.
2002-11-01 04:44:26 +00:00
curt
9f6fdee612 Use wgs_84 math to layout runways. My original method was a little backwards,
it involved creating a 2d runway object of the right size, rotating it and then
trying to back solve for the actual lon/lat.  This and a few other problems was
causing problems with subsequent texture coordinate calcs for the runway
surface textures.  It also could have contributed to runways/lighting being
slightly misaligned with the ILS's.  Then lots of minor cascading changes as a
result.
2002-10-31 19:59:37 +00:00
david
9d44a4ae64 Commented out unqualified cout statement. 2002-10-26 16:54:07 +00:00
david
2b660877a3 Don't generate a DEM tile when all elevations are zero. This should
save about 70% worldwide with the GTOPO30 (less with the USGS DEM-3).
2002-10-26 16:50:50 +00:00
curt
cb30b2d474 Oops, missed a needed change. 2002-10-26 01:22:44 +00:00
curt
51287d6785 Taxiways look a bit better if we insert them in sorted order from larger
to smaller.
2002-10-25 17:17:34 +00:00
curt
53a2f9c347 Simplify runway texture coordinate generation. 2002-10-25 16:52:01 +00:00
curt
8817ba7454 First pass at new runway layout. 2002-10-25 14:46:09 +00:00
curt
7368effd9e First crack at generating taxiway lights (with a normal vector of up.) 2002-10-22 03:56:12 +00:00
curt
a20c93b301 Added support of SALS (being phased out, but there are still a few
installations around in the US and Europe.)
2002-10-22 01:57:12 +00:00
curt
37f5d14616 Caution, check point, alsf 1/2 airport generation may not work correctly at the moment. 2002-10-22 01:14:54 +00:00
david
a240a50954 Corrected a typo. 2002-10-19 15:46:12 +00:00
david
aaaa59235b Added --chunk argument to simplify generating airports for a specific
chunk (like w130n30).
2002-10-19 15:42:50 +00:00
david
3a4ee63f3f Fix cout and endl not in the std:: namespace. 2002-10-18 22:26:13 +00:00
david
b659705c95 Update ignored files. 2002-10-18 19:27:09 +00:00
david
8f9fd4137d Avoid shadowing parameter. 2002-10-18 19:26:38 +00:00
curt
b2ee8d6fa3 Add ALSF-1, MALS, MALSF, and MALSR. 2002-10-18 18:29:18 +00:00
curt
c2f620744a Added support for generating SSALS, SSALF, and SSALR approach lighting schemes. 2002-10-18 02:55:41 +00:00
curt
e58523db01 Make ALSF-II lighting scheme. 2002-10-17 23:09:44 +00:00
curt
6ebfa5d3b7 Threshold lights. 2002-10-17 15:52:00 +00:00
curt
1e15eae599 Added touchdown zone lights and reil lights. 2002-10-17 02:46:47 +00:00
curt
49ba2555d9 The center line lights are packed closer together so they look brighter.
I'm going to make them less intense than the edge lighting.
2002-10-16 22:38:47 +00:00
curt
5e9e89596a Update edge lighting so last 2000' are yellow.
Impliment center line lighting.
2002-10-16 22:23:34 +00:00
curt
c9584384d3 Better fix reciprical runway heading for vasi too. 2002-10-09 16:46:16 +00:00
curt
66bacda3ba Added support for PAPI, and oh yeah, definitely smoking crack on the
reciprical runway heading calculation.
2002-10-09 16:40:12 +00:00
curt
21153db715 Various tweaks. 2002-10-09 03:39:20 +00:00
curt
69c741fd64 Added necessary infrastructure to manage runway light generation. 2002-10-09 03:37:35 +00:00
curt
4fb0ca1e2b Beginning work on generating/placing VASI lights.
Ooops, I noticed my light infrastructure is insufficient, I need to add
support for creating multiple groups of lights with different types.
2002-10-08 22:25:01 +00:00
curt
9b63deeb03 Updated dem libs to support z units == 1 (feet).
This is not tested since I do not have data in feet to work with.
2002-10-08 15:28:53 +00:00
curt
fbb232280e Frederic Bouvier:
Well, I found a bug in VpfTile that prevents the function getTileSubdir
to return the correct value.

In that case getTileSubdir was returning the content of a local
variable (subdir) that is destroyed before used outside. Usually,
it generates a segfault with MSVC but here, the returned string
was "". The patch returns the value of the string and tgpvf is
going well so far.
2002-10-07 15:36:26 +00:00
curt
43a271c396 Fixed a horrendous bug with generating runway lighting direction vectors. 2002-10-06 03:45:43 +00:00
david
374bca92c7 Replaced strtof with ANSI C strtod as suggested by Frederic Bouvier. 2002-08-31 17:40:00 +00:00
david
ee66876d21 Patch from Julian Foad to reduce debugging output. 2002-08-31 17:31:16 +00:00
curt
8c35817530 Clean up some old remnants of HAVE_ZLIB_H 2002-08-30 03:00:21 +00:00
curt
65d6f9c623 Tweaks to bring the automake/conf scripts into compliance. 2002-08-29 22:12:43 +00:00
david
fe95a6aab4 Moved the Rectangle and Line classes and the geometry utility
functions into the "tg" namespace to avoid conflicts with Windows
headers.
2002-08-14 15:41:54 +00:00
david
232d51333c Make min/max area work more reliably. 2002-08-03 14:10:35 +00:00
david
8ab0a45ad7 Renamed the --area option to --material.
Added --min-area and --max-area options to specify the minimum and
maximum area of a polygon's bounding rectangle in meters square.  This
option will make it possible to use different textures for big lakes
and small ponds, or for large cities and smaller towns.
2002-08-03 14:01:48 +00:00
david
79d653b597 Added a makeBounds function to get a bounding rectangle for a polygon. 2002-08-03 14:00:26 +00:00
david
8b990aa02a Changed exception to a warning when building skirt. 2002-08-03 12:45:23 +00:00
david
9d7b4e94b8 Modified to add the new cleared area around airports. 2002-08-02 20:52:21 +00:00
david
7e959be9e8 Modified to clip a runway clearing against water, so that extra land
isn't created.
2002-08-02 20:52:04 +00:00
david
3357337946 Modified to add a cleared area around every runway, 200ft to each side
and 500ft off each end.
2002-08-02 20:51:40 +00:00
david
3dff29e8cf Added missing copy constructor that prevented tgvpf from working properly. 2002-07-31 20:36:22 +00:00
david
f37bdfd43d Corrected error in the sample. 2002-07-23 14:38:49 +00:00
david
7f957c2269 Added tguserdef, a utility for adding user-defined points, lines, and
polygons to scenery.  It uses the regular XML property format, which
users can create easily in a text editor.  See
src/Prep/UserDef/sample.xml for examples.
2002-07-23 14:33:53 +00:00
david
0349ab6241 Removed more duplicate code. 2002-07-23 14:32:52 +00:00
david
598500edb0 Added a parseChunk function for parsing chunk strings like w080n40. 2002-07-23 14:32:34 +00:00
david
14488cda6a Added toPoly method (this should probably be a makePolygon in utils). 2002-07-23 14:32:01 +00:00
david
881fc4ad73 Removed duplicate code and use the new classes and functions in
Lib/Geometry instead.
2002-07-23 01:33:10 +00:00
david
4d37243a5b Added a convenience constructor, non-const accessors, and an
isOverlapping method to test for overlap with another rectangle.
2002-07-23 01:32:40 +00:00
david
1f2d16fe6c Added a getBounds() method to get the bounding rectangle for the line. 2002-07-23 01:31:58 +00:00
david
f30ffc0d1f Added new independent classes for a bounding rectangle and a
multi-segment line, then pulled some local code out of tgvpf into
util.[ch]xx so that it can be used by other modules.
2002-07-22 22:01:39 +00:00
curt
6bd8a08f8b Additional tweaks to runway lighting (these have been sitting around
for a couple weeks ... I must have forgotten to commit.)
2002-06-15 13:39:45 +00:00
curt
3ace596df0 Cameron Moore:
polygon.cxx.diff
- Fixed an incorrect delete[] call that could fail on a non-Linux
  platform during genapts

split-bin.cxx.diff
- Fixed uninitialized z() values that were being printed during tgvpf
2002-06-15 13:31:51 +00:00
david
6e5f833cc3 ANSI C++ fixes; use SimGear logging instead of iostream. 2002-05-21 17:05:10 +00:00
curt
14a58f9bdf Changes to track updates in simgear. 2002-05-13 15:12:51 +00:00
david
58634b2dfc - use SG_LOG throughout instead of cout/cerr
- in main.cxx, make the default log level SG_INFO rather than SG_DEBUG
  (developers can easily change it back during testing)

- replace all instances of exit() with an exception throw, caught in
  main.cxx, so that the program can go on processing the rest of the
  airports; to restore the old behaviour, just add an exit() to the
  catch clause

(Unfortunately, this still does not guarantee a full processing run,
because triangle.c in the library can invoke exit() when it gets
hopelessly confused.)
2002-03-22 15:05:54 +00:00
david
f42cdc4578 Added --min-lat, --max-lat, --min-lon, and --max-lon arguments to
build airports for a limited area.
2002-03-20 22:52:26 +00:00
curt
82f409ba67 Oops, fixed some 'typo' type bugs I missed in the first go around. 2002-03-13 05:08:21 +00:00
curt
a22b83516b More incremental work towards automatically generating runway lights. 2002-03-13 03:51:39 +00:00
david
5c19f61da1 Fixed namespace bugs that kept G++ 3.0 from compiling (mostly improper
use of namespaces with cout/cerr/endl).
2002-02-28 15:34:12 +00:00
curt
750437b242 Extremely *alpha* start at generating sample runway lights. 2002-02-27 23:08:15 +00:00
curt
8f07f918ae Roughing in some initial structure to facilitate runway lighting. 2002-02-27 18:58:06 +00:00
curt
5cbacb4a7a Misc tweaks. 2002-02-27 18:53:10 +00:00