Hello:
A few concepts which might be helpful to keep in mind with this type of scenery creation process:
[
EDITED]
IIRC, the FS SDK functionality has been based on a predominant industry Geographic Information System (aka Geospatial Information System or "GIS") app practice, whereby one creates shore lines / coast lines with the "intended" land position to be on the right-hand side of the line.
"
According to the ArcGIS shapefile specification, each part of a polygon is a simple polygon and the vertices of the polygons are ordered clockwise. (Effectively so that the inside of the shape is on the right side of the line segments.) Holes should be ordered counter clockwise. ( ex: ) For rendering with MapWindow 6, as long as the winding order of a hole is the opposite from the islands it will still draw correctly."
http://mapwindow.codeplex.com/wikipage?title=CycleVerticesVB
Interestingly, Google Maps has this to say:
"
Geometry
In the case of polygons, multipolygons are preferred, rather than one feature with the same name each with geometry. If a feature is comprised of several polygons, use one multipolygon to represent them. For example, if you have a park that is in two sections, then include the park in one polygon. Please also note that Inner loops/donuts (for example to exclude lakes from a park, or an island from a water feature) are accepted, polygons should have correct windings (preferred order is clockwise for both internal and external polygons), and they must not self-intersect."
http://www.google.com/support/mapcontentpartners/bin/answer.py?answer=144284
AFAIK, this would mean ones work flow should be to create vertices in a "
clock-wise" sequence for a
first order type of content, and the next proximate layer should have its vertices in a "
counter-clock-wise" sequence for a
second order type of content.
Ground2K abides by that practice for land "polygons" (
although it allowed one to make the vector texture-mapped shore "poly-lines" from a automatically-derived copy of the land polygon definition sequence of vertices that have had their winding sequence 'properly reversed' ); and I'm fairly sure SBuilder was intended to follow that practice as well.
However, I'm not certain in SBuilder what specific internal criteria are applied to creation of "Excludes", as I believe this might vary, and may depend on the '
order of precedence' (
ex: the Parent - Child polygon layering scheme as a function of the order in which they were created in one's project).
[
EDITED]
Furthermore, IIUC, one can exert additional control over this 'rendering priority' via the placement within the stack of layers in the FS scenery library depending on what components of a scenery are located in discrete BGLs, Geographic coverage "extent" size, and Alpha-numeric naming of BGLs.
[
END_EDIT]
Generally in "GIS" apps (
and FYI... we can regard FS, FS SDK utilites, and SBuilder / SBuilderX all as 'specialized' GIS apps), the layers of polygons are alternated between clock-wise and counter-clock-wise in their "winding" pattern for the
order in which vertices are created.
FSX SDK
SHP2VEC apparently follows the
ESRI SHP file definition:
http://www.fsdeveloper.com/forum/showpost.php?p=23567&postcount=13
Next thing I will do, is try to define a water poly using counterclockwise coordinates, then define one of the islands CLOCKWISE, and see if it works.
If that does not work, I will have to do alternate method, that is to build water polys "around" the islands.
That should do it for you.
-Doug
[
END_EDIT]
BTW: I would hope that by now, SBuilder was updated to know when to properly re-sort
automatically, the
order of sequencing for vertices when a vertex is added (inserted) into'
or removed (deleted) from- a sequence of vertices in a line that defines a polygon.
And I would also hope that SBuilder now knows enough to properly re-sort
automatically, the order of sequencing for vertices when
Parent - Child polygons are added (inserted) into-
or removed (deleted) from- a sequence or "stack" of such layers in a polygon scheme.
http://www.ptsim.com/forum/viewtopic.php?f=22&t=2142
Perhaps one of the SBuilder gurus might explain whether this
is- or
is not- done
automatically during vertex and/or polygon layer edits, or if it needs to be done
manually via a process of 'reversing' the vertex winding direction, then immediately 'reversing' it again to re-sort the vertices properly ?
http://www.fsdeveloper.com/forum/showthread.php?t=17540
PS: Some additional info which might be of interest with this type of object creation:
Working with Points, Lines and Polygons ...located in
SBuilderX 313 Help File (
sbuilderx313.chm in the [SBuilderX install path]\HTML sub-folder)
Set Width
Vector Lines (roads, shorelines, railroads) have a fixed width in FS that is defined in the terrain.cfg file. You can change the displayed width of these Lines in SBuilderX so that they are easier to see in your project, but this will not change the width of the terrain element in FS. You can also define the width of other types of Lines (for example, textured Lines) - just right-click on the Line segment and select Set Width... from the menu:"
"You can set the width of the entire Line (constant width) or of the Start and End Points. Be sure to press Set to confirm your changes. You can also reverse the direction of the Line in this dialogue."
...and some tips for easier work-flow in SBuilderX with these types of objects:
Holding I - D - B and clicking
You can work very fast with Lines by pressing and holding the keys I, D, or B while you click on points of Lines:
Hold the I key (I for insert) and click with the Left Mouse on a segment of a Line to Insert a new point.
Hold the D key (D for delete) and click with the Left Mouse over a point of a Line to Delete the point.
Hold the B key (B for break) and click with the Left Mouse over a segment of a Line to Break it into 2 parts.
If you press (and release) the INSERT key while you are in Line (or Poly) mode you will enter a special insert mode. In this mode, you will insert a new point whenever you click in a segment of a Line. If you want to exit from this mode you will need to press the mouse right button or the ESC key. This special inserting mode is very important to speed up some tasks.
Hope this helps !
GaryGB