1
0
Fork 0
Commit graph

982 commits

Author SHA1 Message Date
Christian Schmitt
916544f4fe Fix the wrong normals on the airport skirt, introduced by the GPC removal.
Simply changing the order of upper and lower points does the trick.
Also fix indentation
2012-10-06 22:10:08 +02:00
Christian Schmitt
28bc14e4cc Use CGAL for tesselation in genapts850 2012-10-06 22:10:07 +02:00
Christian Schmitt
3d800bbb77 Clean up includes in the CMake files 2012-10-06 22:10:07 +02:00
Christian Schmitt
7f532ce615 Add cgal helper function for tesselation 2012-10-06 22:10:07 +02:00
Christian Schmitt
771d65881e Only write out txt.gz files if debug is enabled 2012-10-06 22:10:07 +02:00
Christian Schmitt
3e068ed6dd Partially revert "fix some uninitialized data found with valgrind"
Some unwanted changes sneaked in
2012-10-06 22:10:07 +02:00
Peter Sadrozinski
e6d8d69c87 fix some uninitialized data found with valgrind
remove the cpu limit - tgconstruct should be able to run for weeks, now.
2012-10-06 22:10:07 +02:00
Peter Sadrozinski
f24699ca05 Fix a segfault caused by Ocean not being flagged correctly 2012-10-06 22:10:07 +02:00
Christian Schmitt
ca9a6dda13 Finally get rid of GPC 2012-10-06 22:10:07 +02:00
Christian Schmitt
1e64cfc974 Improve construct output. Lower some loglevels and make output more informative 2012-10-06 22:10:07 +02:00
Christian Schmitt
37d07e6526 add GPC includes only where needed. also add newmat includes 2012-10-06 22:10:06 +02:00
Christian Schmitt
d6e7ac6b96 More CGAL cmake changes 2012-10-06 22:10:06 +02:00
Peter Sadrozinski
85ad4573ec - add the extra height nodes to the cgal triangulation
- enable cgal triangulation
2012-10-06 22:10:06 +02:00
Christian Schmitt
f3da89af8a Add CGAL dep to the makefile 2012-10-06 22:10:06 +02:00
Peter Sadrozinski
adfb4482e2 experimental - use cgal for triangulation
try breaking up construct_bucket into stages for better tile matching
2012-10-06 22:10:06 +02:00
Christian Schmitt
e719fa66d2 Rename fgfs-tools-server and fgfs-tools-client to tg-construct-server and tg-construct-client 2012-10-06 22:10:06 +02:00
Christian Schmitt
f32d340921 Remove VC90 project files as CMake has taken over and they are outdated 2012-10-06 22:10:06 +02:00
Christian Schmitt
8f2c0f6cb9 rename fgfs-construct to tg-construct 2012-10-06 22:10:06 +02:00
Peter Sadrozinski
c1de74f4fa Some fixes
- genapt850 : some airports (LSMM) have multiple airport boundaries.
  This caused a lot of the airport to not get a smoothed base (so some landclass polys were not clipped against the airport).  Changed boundary from a single ClosedPolygon to a list.  Seems to work.
  Some misc warnings cleanup in scheduler, and parser

- Clipper using accumulator results in a significant speed boots - enable clipper and the accumulator by default.

- ogr-decode - most of the crashes I'm getting are due to non-continuous roads.  Within a line string, I create adjacent polys that snap correctly.  On the ends, I generate 90 degree angles.  Some linestrings should be consecutive.  As a workaround, I am now extending every start and end poly of linestrings by 0.1 meters.  It makes it better, but I need to do a better job of creating continuous roads.  This will require some preprocessing of the entire shapefile.  (Perhaps all line data shapefiles, to handle correct overpass / underpass logic)
2012-10-06 22:10:05 +02:00
Peter Sadrozinski
346ae44e14 - Fixed issues where an entire landclass poly wold no triangulate.
- Increase epsilon when looking for intermediate nodes
  (setup method for calling function to specify the bounding box and error
   epsilon in case this had adverse effects on genapts)
  This fixes many of the small vertical gaps (T-Junctions)
- Fix an issue with merge slivers.  The clip mask optimization broke
  merge slivers.  WHen merging the slivers with a poly segment, it also
  needs to be merged with the clip mask, so when the segments are
  seperated from the mask, they include the sliver.
- Added to the shapefile debug.
  --debug_shape=tileid:all generates shapefiles for every polygon in the tile
  This is usefull to setup individual debug polys on subsequent passes.
  Also added load, clip, and with_slivers and clean layers for debugging
2012-10-06 22:10:05 +02:00
Peter Sadrozinski
79bdae93fc forgot to include the shape id during tesselation 2012-10-06 22:10:05 +02:00
Peter Sadrozinski
5f83fe82c6 Implemented shape file debug capability via command line options:
--debug-dir=pathname points to the debug root directory.  each tile will create a sub directory in this existing directory. (default is '.')
--debug-shapes=tileid:shape1,shape2,etc..  lists the shapes to debug within a tile
example: if the tesselator crashes in shape id '123', you can rerun with --debug-shapes=2678440:337

implemented the same bounding box optimization from tesselate in FixTJunctions.  Also fixed a bounding box issue that could cause some
elevation points to be missed.

brought in the latest version of clipper - and moved the #define to the construct header

some debug cleanup (especially in polygon loading)
2012-10-06 22:10:05 +02:00
Peter Sadrozinski
cf6d6f42b9 add bounding box calculations to optimize tesselation 2012-10-06 22:10:05 +02:00
Peter Sadrozinski
feeaf602b7 added seperate-segments option to ogr-decode.
- generates an intermediate file for the whole linestring, but as seperate poly/texcoord pairs
- construct generates the union ofthe polys for the main clip routine
- intersection ot the original segment with the clipped mask gives the clipped segment
  This cuts ~75% of clipping time for really complex tiles.  8 tiles for Madeira went from
  4:45:00 to 1:04:00
2012-10-06 22:10:05 +02:00
Peter Sadrozinski
465fccc6a0 checkpoint - madeira builds fine with individual line segments 2012-10-06 22:10:05 +02:00
Christian Schmitt
df4e685c84 Remove fans/strips routines. We don't create fans anymore 2012-10-06 22:10:04 +02:00
Christian Schmitt
05e1670b56 Construct log output: some changes 2012-10-06 22:10:04 +02:00
Peter Sadrozinski
7e55efbb03 Optimize and cleanup
- fix really bad facelist generation.
- add a face area list in superpoly - each triangle area was calculated twice
- cleanup contruct_bucket - calls a function for each step.
  TODO : move groups of operations into their own files
         i.e. load, clip, elevation, shared edges, and output
2012-10-06 22:10:04 +02:00
Peter Sadrozinski
30573aa811 - Point nodes are now generated. Testing Madeira with tranisition shader enbled shows rocky cliffs, so I think thy are correct.
- some small optimizations made by storing triangle nodes in addition to triangle coordinates in TGSuperpoly.  More can be done, here.
- Brute force methos of generating alist of faces for each nodes that the face has is completely brute force.  Looking at original method, I think I can make it work, which should be a significant speedup.
2012-10-06 22:10:04 +02:00
Peter Sadrozinski
80ac1b38f5 - fixed malloc crash caused by - array index.
- fixed exception in find_point_inside.

NOTE: second fix can cause some gaps, as the polygon cleaning can result in a smaller poly than the original.  Need to clean polys after diff, before adding the result to the union.

I'm now able to build all of
adeira - and tile matchine looks good.  Some gaps visible when roads are cleaned incorrectly.
2012-10-06 22:10:04 +02:00
Peter Sadrozinski
22a8d28857 handle multiple tile construction in a single fgfs-construct run 2012-10-06 22:10:04 +02:00
Christian Schmitt
aa3abbe418 Some cosmetics for construct output 2012-10-06 22:10:04 +02:00
Peter Sadrozinski
7e1257ed8a - fixed t-junctions in roads - I was adding intermediate nodes after adding verticies from
neighboring tiles, but before adding the nodes from the result of clipping.
2012-10-06 22:10:04 +02:00
Peter Sadrozinski
ffc9db1b82 Checkpoint 2
- fixed tile matching using add_intermediate_nodes
- source code rearrangement phase 1 - remove a lot of libraries that are not used by other apps
- move some of the Buildtiles libraries that are used by other apps (and libs) into terragear lib directory
- debug message overhal - to show some progress.
TODO - not implemented yet
- caculate face nodes and save in superpoly (where the faces are stored)
- calculate node normals, and store in tg_nodes (where the nodes are stored)
TODO - bugs
- find_intermediate_nodes isn't working for a lot of roads - still many t-juntions making visible gaps
- flatten ocean nosed is also creating gaps
- there's a grey poly on madeira - need to investigate
2012-10-06 22:10:03 +02:00
Peter Sadrozinski
e6ac493395 checkpoint1
- all polys triangulated individually
- shared edge loading should be working, but there are still issues.
2012-10-06 22:04:44 +02:00
Christian Schmitt
3f996495c6 Issue 888: Fix for master branch: Correctly calculate the bucket center and radius.
The previous routine lead to offsets in the verts and thus to problems in the transition shaders.
2012-09-30 22:37:54 +02:00
Peter Morgan
4c975a0537 Doxygen and code documentation
Small patch to add some documentation
2012-09-26 18:11:36 +02:00
Christian Schmitt
fb6cee3bb0 Tweak PAPI/VASI object creation, add missing object types 2012-09-21 20:19:47 +02:00
Peter Sadrozinski
4cacaeb7f8 fix path construction when copying multiple objects in DoCustomObjects() 2012-09-21 10:23:56 -04:00
Christian Schmitt
133c0ef91b Improve buoys calculation for water runways 2012-09-19 10:53:28 +02:00
Christian Schmitt
42e4cefab3 Linear features: alternating green/amber lights were still missing.
Support for line light types is complete now.
2012-09-17 11:49:47 +02:00
James Turner
11bce4fce9 Fix typo in FindSimGear module 2012-09-17 08:59:56 +01:00
Christian Schmitt
473992e684 Helipad shoulder support 2012-09-16 22:15:45 +02:00
Christian Schmitt
d81f2c36e1 Add an area around the helipad if the size is not square 2012-09-16 22:15:44 +02:00
James Turner
fe7899c018 Update FindSimGear.cmake module
Bring in-line with the current version from FG.
2012-09-16 16:15:16 +01:00
Christian Schmitt
ccfde6914a Linear features: Yellow hold lights are unidirectional to the right of the line direction.
Implement this by creating a directional normal for these types.
2012-09-14 12:41:16 +02:00
Christian Schmitt
e8e1123db1 Helipads: correct light colour to yellow as in the spec, reduce amount
of circle lights and add edge lights with 5m spacing
2012-09-13 13:53:22 +02:00
Christian Schmitt
d83f1c265c Add textured lines to ogr-decode help output 2012-09-12 12:56:52 +02:00
Christian Schmitt
0957f0ccc8 Fix runway edge lights calculation. 2012-09-11 10:45:29 +02:00
Christian Schmitt
8f0d5130f5 Initialize variables 2012-09-07 15:03:31 +02:00