- 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.)
(These are not yet enabled by default because we haven't addressed what
happens when snapping a hole boundary, but not the original object to
fit in the hole.)
straddled record boundaries; it appears the the E00 format expects
all records to be right-padded with spaces to a length of 80 including
the final newline (!!!)
- added some comments in case anyone is ever foolish enough to try to
extend this library
Fixed a bug in triangulating that was potentially overwriting other
memory when creating the hole list to pass to the triangulator. This
fixes a lot of glitches!
fgfs-construct and fgfs-tools-client. The option takes an argument giving
the location of the land-cover raster file; if it is not specified,
land-cover is not built.
Curt tweaked the code that divides up the tile into land use squares but there
are still a couple slightly fishy things going on there.Z
The following files have been changed to enable the latest Terragear CVS
to compile with MSVC++ 5.0
.\construct\clipper\clipper.cxx
for( int i - lots of places
.\construct\genoutput\genobj.cxx
fix directory logic for windows, line 320 and following
.\construct\main\main.cxx
windows does not have an opendir function
added code for windows directory functions
disabled the mem allocation limit code - windows does not
have similar functions
for ( int i - several places
.\construct\match\match.cxx
moved the definition of file and command outside of the ifdef line 420
.\lib\e00\e00.cxx
for( int i - several places
.\lib\e00\e00.cxx
use simgear/compiler.h constructs
.\lib\geometry\contour_tree.hxx
removed a cout statement
.\lib\geometry\poly_support.cxx
added float.h changed 1.0e+999 to DBL_MAX, windows doesn't go that big
lots of for ( int i changes
lines 193 and 208 no != operator defined - changed logic
line 801 flag should be int, not bool, get_hole_flag returns int
.\lib\landcover\landcover.cxx
.\lib\landcover\landcover.hxx
add include simgear/compiler.h
see comments
.\lib\optimize\genfans.cxx
function canonify added return at end, windows complains
added using std for cout and endl
.\lib\optimize\genstrips.cxx
function tgGenStrips no return value, moved by_node into outer scope
fix for ( int i ...
.\lib\poly2tri\construct.c
added include <memory.h> for windows
remove unused variables lines 435 & 437
.\lib\poly2tri\misc.c
added HAVE_SYS_TIME_H logic for sys/time.h include file
added logic to uses windows functions for time and rand
.\lib\poly2tri\monotone.c
added include <memory.h> for windows
lines 286-288 remove unused variables
.\lib\poly2tri\tri.c
remove sys/time.h - no time functions called
added include <memory.h> for windows
.\lib\polygon\polygon.cxx
function polygon_to_tristrip will not compile I don't think the
logic is complete, no returned data added if else endif around
function and polygon_to_tristrip_old, renamed _old function.
Search of code reveals that function is not called by anyone.
.\lib\polygon\superpoly.cxx
changed include <superpoly.hxx> to "superpoly.hxx"
.\lib\polygon\superpoly.hxx
add include <windows.h> for windows before include <gl.h>
needed for definitions used in Microsoft version of opengl
.\lib\shapelib\dbfopen.c
added include files for windows
lines 195-197 271-272 515-517 removed unused variables
.\lib\shapelib\shpopen.c
added #include <stdlib.h> for malloc() and friends
added include files for windows
line 279 527 813 1127 removed unused variables
line 827 cast result to int
.\lib\win32\mkdir.cpp
documented function, remove debug lines
.\prep\demraw2ascii\main.c
lines 46-50 remove unused variables
.\prep\demraw2ascii\rawdem.c
line 47 changed logic to compile with MSVC
line 244-256 set real constants to float, windows complains with
double constants
.\prep\genairports\build.cxx
lots of for ( int i changes
.\prep\genairports\main.cxx
fix mkdir logic for windows
.\prep\genairports\output.cxx
added using std cout endl
lots of for ( int i changes
fix mkdir logic for windows
.\prep\genairports\runway.cxx
for ( int i changes
lines 117-118 161-162 remove default values for function parameters
.\prep\gshhs\main.cxx
added using std cout
.\prep\shapefile\noaa_decode.cxx
.\prep\shapefile\shape_decode.cxx
added using std for cout
lines 45-49 moved unused variables inside #if 0 block
- increased maximum areas to 128 (for future growth), and added Road
and Railroad areas
- changed the method of calculating the triangle centre in
poly_support.hxx
- added a has_holes() method to polygon.hxx
- added a new library, e00, for reading ArcInfo e00 files (i.e. the
free online ones from DCW and GeoGratis); it needs more work
- added a new prep utility, e00lines, for creating textured polygons
out of e00 line data (with user-specified width and area type); this
is useful for roads, railroads, rivers, and utility lines
Added adjacent triangle area weighting for calculating vertices of nodes.
Check for super small or degenerate triangles which could blow up our face
normal calculations.
expects the results to be zero'd out, even though this may not be gauranteed.
So I (Curt Olson, curt@flightgear.org) have added some code here
to explicitely zero out the space after it is malloc()'ed.
first tile to build that corner gets to define the shared point, but since
it was clipped out by the airport hole, the value defaulted to randomness.
This was then propogated on to adjacent tiles. I now calculate the corner
value in advance so the code is not dependent on finding the corner in the
resulting point set.